in reply to Re: Why are my hash keys undefined?
in thread Why are my hash keys undefined?

Thanks for the response. The thing is my data doesn't have commas at the ends of the line, and I know that the regex matchs the right thing because the print in the if statement always gives me the names I expect. Despite this, the keys are empty!

Replies are listed 'Best First'.
Re^3: Why are my hash keys undefined?
by choroba (Cardinal) on Feb 08, 2016 at 17:46 UTC
    Windows line endings, then? The keys aren't empty, but contain "\r" at the end. When printed, the character moves the cursor to the beginning of the line, and the value then overwrites the key. Convert your files to the *nix format using dos2unix or fromdos, or apply
    s/\r//
    to your input lines.
    ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
      Your quite right - the data wasn't in unix format and the function suggested solves the issue. Many thanks indeed!