sub foo { my ( $x, $y, $z ) = @_; # ... } #### sub say { my ( $x, %param ) = @_; # ... } &say( "Hello", name => "world" ); #### sub bar { my ( @a, @b ) = @_; # wrong! # ... } &bar( @array1, @array2 ); # wrong! #### sub bar { my ( $a_ref, $b_ref ) = @_; # ok # ... } &bar( \@array1, \@array2 ); # ok