#! perl -slw use strict; use Time::HiRes qw[ time ]; my $start = time; my @a; $#a = 1e6; my $n = 0; $a[ $n++ ] = pack 'NNA*', m[(\d+) (\d+)], $_ while <>; printf "%d records\n", scalar @a; @a = sort @a; substr( $_, 0, 8, '') for @a; printf "Took %.6f seconds; check memory? ", time()- $start; ;