#!/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;