Hi,
arkturuz, will even work if the regex matches the values to be sorted like this:
chomp(my @files = <DATA>); ## added
sub by_id {
# extract numbers
my ($A) = $a =~ /.+?-(\d+)\..+$/; # changed
my ($B) = $b =~ /.+?-(\d+)\..+$/; # changed
# return comparison
return $A <=> $B;
}
for my $f (sort by_id @files) {
print $f,$/;
}
__DATA__
abcd1_abc_123456.abc1a_A.201307290800-0900-0.gz
abcd1_abc_123456.abc1a_A.201307290800-0900-1.gz
abcd1_abc_123456.abc1a_A.201307290800-0900-10.gz
abcd1_abc_123456.abc1a_A.201307290800-0900-11.gz
abcd1_abc_123456.abc1a_A.201307290800-0900-2.gz
abcd1_abc_123456.abc1a_A.201307290800-0900-3.gz
If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me
|