I can sort an array passed into a subroutine, but I can't reverse sort or use a custom sort on that array.
I can't get subroutines to do much of anything with passed arrays. This is one of sevearl array-subroutine tests that I've tried over the last two days. I have tried variations with passing array references, but to no avail.
# test subroutines with an array $var = 8; push( @TaR, $var ); $var = 2; push( @TaR, $var ); $var = 5; push( @TaR, $var ); $var = 4; push( @TaR, $var ); $var = 5; push( @TaR, $var ); $var = 6; push( @TaR, $var ); $var = 1; push( @TaR, $var ); $var = 8; push( @TaR, $var ); print STDOUT "\n\n"; print STDOUT "\n\nAs-is "; # This segment works for $OneLine( @TaR ) { print STDOUT " $OneLine"; } print STDOUT " Done\n\n"; SortedArray( @TaR ); ReversedArray( @TaR ); print STDOUT "\n\n"; # This sort works sub SortedArray { my @PassedArray = @_; my @SortedArray = sort @PassedArray; print STDOUT "\n\nSorted "; for $SubLine( @SortedArray ) { print STDOUT " $SubLine"; } print STDOUT " Done\n\n"; return 1; } # This sort, but doesn't reverse the sort sub ReversedArray { my @PassedArray = @_; my @SortedArray = sort reverse @PassedArray; print STDOUT "\n\nRvrsd "; for $SubLine( @SortedArray ) { print STDOUT " $SubLine"; } print STDOUT " Done\n\n"; return 1; }
In reply to reverse sort arrays in subroutines by JockoHelios
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |