Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

•Re: Finding oldest file in directory

by merlyn (Sage)
on Oct 18, 2004 at 18:25 UTC ( #400266=note: print w/replies, xml ) Need Help??

in reply to Finding oldest file in directory

Probably only the teeniest bit faster to run, but a lot easier to type, I would have picked -s $a over (stat $a)[10] and so on.

Also, above some number of files (depending on your OS efficiency), it'd be faster to cache your stats for the sort.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

update: Darn it. I misread [10] as wanting the size, even though there were other clues in the message about wanting the oldest.

OK, yes, replace -s there with -M.

Replies are listed 'Best First'.
Re^2: Finding oldest file in directory
by pg (Canon) on Oct 18, 2004 at 18:38 UTC
    "it'd be faster to cache your stats for the sort"

    Depends on what does "oldest" mean, and how files are created, modified and removed from the directory. The catched info might not be correct and useful. It probably just increases the complexity of the program, with 10+ files in the directory, most likely not worth it.

      I think what Randal L. Schwartz was referring to, when he said "cache it for the sort," was to use a very common sort optimization technique called, not coincidentally, the Schwartzian Transform.
      @sorted = map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [ $_, (-s $_) ] } @unsorted;

      [ e d @ h a l l e y . c c ]

      If the underlying files are changing quick enough that -s isn't going to return the same result you're probably already screwed (and I want to say that some qsort implementations might even core on you)).

Re^2: Finding oldest file in directory
by bluto (Curate) on Oct 18, 2004 at 19:15 UTC
    Do you mean '-C' instead of '-s' (file size)?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://400266]
[LanX]: yep
[LanX]: 1234567890 1234567890 1234567890
[LanX]: so inserting own whitespace helps, ie. a JS warning on submit could help preventing problems
[LanX]:  last hour of cb doesn't break

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2017-07-24 11:00 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (350 votes). Check out past polls.