#from http://www.perlmonks.org/?node_id=431329 #use strict; #Uncomment me to get to the root of the problem. use warnings; my %Hash = ( ArrayInHash => [1,2,3,4], ); print "Array in hash: $Hash{ArrayInHash}"; #Only get error if you use strict; print "WRONG Dereffed Array in hash: @$Hash{ArrayInHash}"; print "RIGHT Dereffed Array in hash with brackets: @{$Hash{ArrayInHash}}";