in reply to Accessing Arguments inside Subroutines via @_

As a workaround, you can assign to an array slice.

sub rev { @_[0 .. $#_] = reverse @_ } my @test = qw( a b c d ); print "@test\n"; rev @test; print "@test\n";