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
|
---|
In Section
Seekers of Perl Wisdom