Ahh yes, you've hit the bugaboo with using
=>. It's very very very quotey. It quotes even subroutine names (as long as they are simply bare words), which is what a
use constant ends up being. Either switch to comma instead of arrow, or invoke your subroutine:
my %capitol_map = (
WISCONSIN() => "Madison",
ILLINOIS() => "Springfield",
...
);
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.