$ perl -Mstrict -Mwarnings -le 'use constant X => "a"; my %h = (a => 1); print $h{X}' Use of uninitialized value in print at -e line 1. $ perl -Mstrict -Mwarnings -le 'use constant X => "a"; my %h = (a => 1); print $h{+X}' 1