Greetings,

I'm having some trouble using Sort::Maker and was hoping
someone could assist.

I have very large arrays of file names that look like:

my @ARRAY = qw{
20060312.1230.goes10.ir.x.pacus.x.jpg  20060324.1500.goes10.ir.x.pacus.x.jpg  
20060405.0000.goes10.ir.x.pacus.x.jpg
20060312.1300.goes10.ir.x.pacus.x.jpg  20060324.1530.goes10.ir.x.pacus.x.jpg  
20060405.0030.goes10.ir.x.pacus.x.jpg
20060312.1330.goes10.ir.x.pacus.x.jpg
}

The following code works fine and produces a ST $sorter without problem:
Very Cool!!

#!/usr/local/bin/perl    (5.8.8)
use Sort::Maker ;
my $sorter = &Sort::Maker::make_sorter(qw(ref_in ref_out),
              qw(ST),
              number,
              'descending',
              'unsigned_float',
              )
or die "Can't make sorter [EMAIL PROTECTED]";

#To see the output:

my $sorted_array = $sorter->([EMAIL PROTECTED]);

print "Raw sort results\n";
foreach (@{$sorted_array}){
    print "$_\n";
}
-------------------------------------------------------------------------------------------------------------
So what's the problem?
The following sort which is taken directly from the documentation 
does NOT work:

my $sorter = &Sort::Maker::make_sorter(qw(ref_in ref_out),
              qw(ST),
              number => [
                       qw(descending unsigned_float),
                      code => '/(\d+)/',
             ],
             )
or die "Can't make sorter [EMAIL PROTECTED]";

And produces the following error:

Can't make sorter make_sorter: Unknown attribute '/(\d+)/'

Would like to get this second sort to work,
because I want to sort on the entire float number
not just the integer:  '/(\d+\.\d+)/'

Thank you,
John Kent
Webmaster NRL Monterey,
http://www.nrlmry.navy.mil


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to