in reply to use constant for strings

I had assumed that in the hash creation, that the constants would be interpolated into their text values.

The tokens WISCONSON and ILLINOIS are being treated as "barewords", thanks to '=>'. To force them to be interpeted, you can do something like

my %capitol_map = ( (WISCONSON) => "Madison", ...
or risk a bit of duplication and write
my %capitol_map = ( WI => "Madison", ...