$ perl -Mstrict -Mwarnings -E '
my @a = ( 1 .. 10 );
sub transform (&@);
@a = transform { ( ++ $_ ) % 10 } @a;
say qq{@a};
sub transform (&@) { map $_[ 0 ]->( $_ ), @_[ 1 .. $#_ ] }'
2 3 4 5 6 7 8 9 0 1
$
####
$ perl -Mstrict -Mwarnings -E '
my @a = ( 1 .. 10 );
sub transform (&);
transform { ( ++ $_ ) % 10 } for @a;
say qq{@a};
sub transform (&) { $_[ 0 ]->( $_ ) }'
2 3 4 5 6 7 8 9 10 11
$
##
##
$ perl -Mstrict -Mwarnings -E '
my @a = ( 1 .. 10 );
sub transform (&);
transform { $_ = ( ++ $_ ) % 10 } for @a;
say qq{@a};
sub transform (&) { $_[ 0 ]->( $_ ) }'
2 3 4 5 6 7 8 9 0 1
$