use Sort::Key::Multi 'ii_keysort'; ... cmpthese(-10, { ... SKMii => sub { my @s = ii_keysort { /(\d+)([A-Z])/; $1, ord $2 } @data } } );