in reply to Need to sort large table of data...

Just a hack but how about the following to get started:
# 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:

@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))}; }
and then print as before.

Replies are listed 'Best First'.
Re^2: Need to sort large table of data...
by fiddler42 (Beadle) on Feb 19, 2008 at 01:01 UTC
    Hi, igelkott,

    Your suggestion worked smashingly on the first try. Good job!

    Thanks,

    -fiddler42