You can trim your shuffle a little by omitting the line: next if $i==$j;.
Swapping an item with itself doesn't affect the algorithm's fairness, and doing it once costs less, than testing n times and avoiding it once.
And you save a little more by avoiding the list assignment:
my $tmp = $array[ $i ]; $array[ $i ] = $array[ $j ]; $array[ $j ] = $tmp;
Doesn't look as nice though.
In reply to Re^3: mem usage
by BrowserUk
in thread mem usage
by halfcountplus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |