Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Compare the contents of directory with the contents of file

by repson (Chaplain)
on Feb 24, 2001 at 06:55 UTC ( #60600=note: print w/replies, xml ) Need Help??

in reply to Compare the contents of directory with the contents of file

I guess you might be storing the list of contents of a directory in a flat file, and want to check if the current contents differ from the stored record.

In that case I would build a hash of the lines of the file like so:

%files = map { tr/\015\012//d; ($_,1); } (<FILE>);

Where FILE is an already open filehandle.
Then I would loop over the directory like so (where DIR comes from opendir):

while (defined($_ = readdir(DIR))) { next if /^\.\.?$/; unless (delete $files{$_}) { print "New: $_\n"; } }
Reporting things that weren't in the file and removing the others from the hash.
And finally reporting thing from the file that are no longer in the directory:
for (keys %files) { print "Gone: $_\n"; }
Of course if you are not asking for that, then your question needs clarification.

2001-03-04 Edit by Corion : Removed an erroneous <CODE> tag

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://60600]
[Your Mother]: The good news is, they think they are influencing people but Americans at least are irretrievably biased. All that can be accomplished is a little spike in domestic violence. :P
[LanX]: YM: watch your mouth or I'll show up with my automatic gun at your nursery ...
[LanX]: ;-P
[LanX]: What I learned now is to hide my friends list at FB (not that I have many ...)
[Your Mother]: Careful. They're listening!
[LanX]: I mean hiding my friends FROM my friends
[Your Mother]: Yeah. I don't know what they expect. If a stranger can see the post or list or whatever, so can a harvesting program.
[Your Mother]: HA.
[NodeReaper]: he's already hiding from me :(
[Corion]: Your Mother: Even I don't remember what "related and neat" I could have that would fit to 1211240 :) Maybe "pjax", which turns a static site into a Javascript-partial -reloading site? That's purely Javascript though

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (12)
As of 2018-03-19 13:31 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (240 votes). Check out past polls.