Hello,
First I want to thank you a lot for this elegant solution. I tested your code on a real life case and for some reason it doesn't work.
Here is the code:
#!/usr/bin/perl -w use strict; use warnings; use Data::Dumper; my @ar1=qw(F40_I_VBBG_RI50-FMVSS301n-2SR424M-HCH-D_01EK101.a3db F40_I_VBBG_RI50-FMVSS301n-2SR424M-HCH-D_01EK101a.a3db F40_I_VBBG_LR50-ECR17p-2SR424M-HCH-D_01EK101g.a3db F40_I_VBBG_LR50-ECR17p-2SR424M-HCH-D_01EK101k.a3db F40_I_VBBG_LR50-ECR17p-2SR424M-HCH-D_01EK101.a3db ); #my @lastversion = values %{{ map { /EK(\d+)\w?/, $_ } sort @ar2 }}; my %latest; @latest{ /EK(\d+)\D/ } = $_ for sort @ar1; my @lastversion = @latest{sort {$a <=> $b} keys %latest}; foreach (@lastversion) { #print "@lastversion\n"; print "$_\n"; } #print Dumper(\%latest);
The correct output should be this:
F40_I_VBBG_RI50-FMVSS301n-2SR424M-HCH-D_01EK101a.a3db
F40_I_VBBG_LR50-ECR17p-2SR424M-HCH-D_01EK101k.a3db
After i run the script i just get the first name:
F40_I_VBBG_RI50-FMVSS301n-2SR424M-HCH-D_01EK101a.a3db.
I really can't tell what the problem is. I am asking again for your help.
Thank you in advance.
In reply to Re^2: Sorting array
by negativ_m
in thread Sorting array
by negativ_m
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |