in reply to Loading a Hash directly from a Regex

Assigning to a hash using %this_hash = ... always overwrites the entire hash.

Additionally, the code of:

/^(\d+)\W\d+\W\d+\W(\d+)\W\w+/; $CpmRC{$1}=$2;
is dangerous, because when the match fails, you get the previous value of $1 and friends. Always do this in the conditional based on the match:
if (/^(\d+)\W\d+\W\d+\W(\d+)\W\w+/) { $CpmRC{$1}=$2; }

-- Randal L. Schwartz, Perl hacker