$ perl -wMstrict -le 'sub x{} my $h={50=>[1]}; x(0+@{$h->{100}})' Can't use an undefined value as an ARRAY reference at -e line 1. $ perl -wMstrict -le 'my $h={50=>[1]}; print(scalar @{$h->{100}})' Can't use an undefined value as an ARRAY reference at -e line 1.