#open your files as before, then print FOO map { $_->[1] } sort { $a->[0] <=> $b->[0] } map {my @F=split; [substr($F[2],1), $_]} ; #close your files as before