Thanks Rob and Martin for your inputs.

I found a solution to my problem.  I'm posting it here for whoever
might need it.  I'm sure there's a faster solution out there but this
will do just fine.
I had to put the files in an array. :(
The reason is that you cannot sort a scalar [ or scalar context such
as reading a dir using while (<MYDIR>) ] , it has to be an array.


use strict;
use warnings;

my $path = "/home/icarus/files";
my $time_var = "-M";

opendir (MYDIR, $path) or die $!;

#from older to newest.  If you want from newest to oldest, switch the
$b for $a then <=> $a for $b
my @files = sort { eval($time_var.' "$path/$b" <=> '.$time_var.'
"$path/$a"') } grep { -f "$path/$_" } readdir(MYDIR);
my @sorted = @files;

closedir(MYDIR);


foreach (@sorted){
   sleep 5; #just to have time to compare
   print "$_\n";
}


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


Reply via email to