Solved 10 minutes later by using:

@list = sort { $filelisthash{$b} <=> $filelisthash{$a} } keys %filelisthash;

Instead of:

foreach $file_num (sort { $a cmp $b } keys %filelisthash) {
  push(@list,$file_num);
}

Thanks anyway!!  Hope someone finds this helpful...


On 8/7/02 9:17 PM, in article [EMAIL PROTECTED], "Shannon
Murdoch" <[EMAIL PROTECTED]> wrote:

> Hi all, 
> 
> I have a list of 40 or so files that need to be sorted into an array by
> article date (found in first line of each file in the form DD-MM-YYYY).
> I can't figure out how to go about it successfully... Can anyone help me out
> please??
> 
> Thanks in advance!
> 
> Current method is as follows:
> 
> 
> use Time::Local;
> 
> @list = glob("*.txt");   ## makes an array of files ending in .txt eg 03.txt
> 
> foreach $file (@list) {  ##find dates...
> open(FEEDBACK,"$file");
> while(<FEEDBACK>){
>   chomp($_);
>   @feedbackdate = split(/-/,$_);  ## eg @feedbackdate = ('07','02','1982')
>   $epochseconds = timelocal(1, 1, 1, $feedbackdate[0], $feedbackdate[1]-1,
> $feedbackdate[2]-1900);
>   @feedbackdate = ();  ##empty the hash for next loop.
>   $filelisthash{$file} = $epochseconds;
>   last;
> }
> close(FEEDBACK);
> } #end loop
> 
> @list = (); ##prepare the list array
> 
> foreach $file_num (sort { $a cmp $b } keys %filelisthash) {
>   push(@list,$file_num);
> }
> 
> print @list;
> 


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to