icarus wrote:
How can I sort files by timestamp without slurping?

the idea is to look into a directory, pick up the oldest first and so
on until the 'youngest' one.
file100..all the way to file1.

I found this solution somewhere,

my @sorted = map { $_->[0] }
            sort { $b->[1] <=> $a->[1] }
             map { [ $_, -M $_ ] }
           @files;

By the looks of it, it does slurp the all the files from the source
directory into an array and does the sorting there.

I'm thinking on incorporating a timestamp sorting mechanism without
slurping.

You wouldn't slurp anything. You would just assign the _names_ of the files to an array. Why would that be so bad?

Since above solution looks like sorcery of some kind to me,

Then don't just look "somewhere", but study the Perl documentation on sorting.

    perldoc -f sort

How can I modify it to fit below?  or if you have any other ideas
please let me know.  Thanks in advance.

MOVE_FILES:
while (defined (my $file = readdir (SOURCEDIR))){

      #skip . and .. files
      next MOVE_FILES if $file =~ m#^\.\.?$#;

      #the sorting should it take place here I guess.


       #move files
       move ($file, $target_path) or die $!;

How would you be able to "sort" one item at a time?

--
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl

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


Reply via email to