for (by_third_field ) { print "Record: $_"; } sub by_third_field { map $_->[0], sort { $a->[3] <=> $b->[3] } map { [ $_, split ] } @_; }