#!/usr/bin/perl -w use strict; my @original = <>; # or whatever. my @lines = map { $_->[0] } sort { $a->[1] <=> $b->[1] or $a->[2] <=> $b->[2] } map { [ $_, unpack('x12a9xa12', $_) ] } @original; #### #!/usr/bin/perl -w use strict; my @original = <>; # or whatever. my @lines = sort { $a->[0] <=> $b->[0] or $a->[1] <=> $b->[1] } map { [ unpack('x12a9xa12', $_) ] } @original;