# The @AllPatterns array is probably fed elsewhere, this is just for t +he test @AllPatterns = ([qw(1 2 1 1 8)], [qw(1 6 5 12 12)], [qw(1 1 1 1 1)], [qw(1 1 1 1 1)]); for $v (@AllPatterns) { ++$h{join(' ',sort {$a <=> $b} @$v)}; } for $k (sort keys %h) { print "$h{$k} - $k\n"; }
This will probably choke (run out of memory) on a "gigantic array" so you might need to write to disk after each step you outlined.
Update: Just struck me that you may have a simple array rather than a 2D as I has assumed. Possibly clear how to adapt the hack but here it is just to get it out of my head:
and then print as before.@AllPatterns = ('1 2 1 1 8', '1 6 5 12 12', '1 1 1 1 1', '1 1 1 1 1'); for $v (@AllPatterns) { ++$h{join(' ',sort {$a <=> $b} split(' ',$v))}; }
In reply to Re: Need to sort large table of data...
by igelkott
in thread Need to sort large table of data...
by fiddler42
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |