@sorted = map{ $_->[0]} sort{ no warnings 'numeric'; $a->[2] <=> $b->[2] } map{[$_, split/sequence/]} @unsorted; #### use Sort::Key::Radix 'ukeysort'; my @sorted = ukeysort { /(\d+)/; $1 } @unsorted;