http://www.perlmonks.org?node_id=174661


in reply to Behavior of compile-time constants?

=> quotes the lefthand side. Thus, perl is trying to DWIM, and interpreting what you wrote as:

my %modestring = ( 'ROTATE', "a", 'HOLD' , "b", 'FLASH' , "c", # etc... );

perl -pe '"I lo*`+$^X$\"$]!$/"=~m%(.*)%s;$_=$1;y^`+*^e v^#$&V"+@( NO CARRIER'