in reply to Will recursive code update data in an array?
my @a = [ 1 .. 10 ]; by_value ( 5, @a ); # @a still is [1..10] by_ref( 5, \@a ); # @a will be [120, 240,... ] sub by_value { my ( $time, @a ) = @_; if ( $time == 0 ) return; foreach my $b ( @a ) { $b *= $time; } by_value( $time--, @a ); } sub by_ref { my ( $time, $a_ref ) = @_; if ( $time == 0 ) return; foreach my $b ( @$a_ref ) { $b *= $time; } by_ref( $time--, $a_ref ); }
|
|---|