#!/usr/bin/perl while () { push @array, [ split ' ' ]; } @array = sort { $a->[2] cmp $b->[2] or $a->[0] <=> $b->[0] } @array; for ( @array ) { print join(' ', @$_), "\n"; } __DATA__ 7 modify ldfapg pub abc.h 8 modify bfxml dtd/src newfiles.ksh 9 delete bfxml dtd/src newfiles.ksh 10 modify bfxml dtd/src newfiles.ksh