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


in reply to sorting number

Yes, the problem description and desired output do not seem to match. Anyway, here's a GRT for sorting letters then numbers, casting non-compliant lines to the top of the output.

use 5.026; use warnings; my @aa = qw{ CORE1 CORE12 CORE8 duffdata CORE233 COREA11 COREA12 COREA130 COREA12b COREA115 }; say for map { substr $_, 54 } sort map { my( $letters, $digits ) = m{^([A-Za-z]+)(\d+)$} ? ( $1, $2 ) : ( q{}, 0 ); pack q{A50NA*}, $letters, $digits, $_; } @aa;

The output.

COREA12b duffdata CORE1 CORE8 CORE12 CORE233 COREA11 COREA12 COREA115 COREA130

I hope this is of interest.

Cheers,

JohnGG