http://www.perlmonks.org?node_id=556603


in reply to problems with advanced array sort

hi all,
here is the final code

use strict; open(SORT_FILE, '<', "sort_test.txt") or die("open failed: $!"); my @to_sort = <SORT_FILE>; my @from_sort = map { $_->[0] } sort { $a->[2] <=> $b->[2] } map {[$_, (split /CF|\./) ]} @to_sort; foreach my $sorted (@from_sort) { print $sorted; } my $idx=1;$idx++ while ($idx < @from_sort) and substr($from_sort[$idx] +,41,4)-substr($from_sort[$idx-1],41,4) <=50; my @sort_splice = splice @from_sort, 0, $idx; my @sorted = (@from_sort, @sort_splice);

thx to Corion for the while one liner :D