Fixing the bug with parsing of the MCP file.  I was zilching an mcpData hash with .Clear() after adding it to the hash.  Well, the add to the mcpEntry has was a shallow copy (stupid), so the .Clear() zilched the entry in the main hash.  Then, when I was adding new data to the next value hash, well, since we had a shallow copy with references, it resulted in the same data for every record added to the mcpEntry hash.  Fixed by using mcpData = @{} to create a new hash for the mcpData value.