use Data::Dumper; sub foo { $_[0] = undef; } sub bar {}; my @a; @a = (); foo( $a[0] ); print Dumper \@a; @a = (); bar( $a[0] ); print Dumper \@a; #### $VAR1 = [ undef ]; $VAR1 = [];