% perl -Mstrict -le 'my $x; my @y = @$x; print "=> ", ref $x' Can't use an undefined value as an ARRAY reference at -e line 1. % perl -Mstrict -le 'my $x; sub {}->( @$x ); my @y = @$x; print "=> ", ref $x' => ARRAY