http://qs321.pair.com?node_id=628091


in reply to How to sort output?

This is a good use for a Schwarzian transformation, though you could have set it up previously. Replacing line 50:

my @sorted = map { $_->[1] } sort { $a->[0] <=> $b->[0] } map { [ /alive\s+(\d*\.\d*)\s+ms$/ ? ($1) : (), $_ ] } <IF>;
Untested.

The idea is to bundle the raw data with the extracted data to sort on, do the sort, then strip out the raw data again. It would be more thoughtful to keep the sort data from earlier. The regex I use could be slimmed down, it's a first cut.

All the lines which don't match get grouped together at the start with my construction.

After Compline,
Zaxo