Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: memorizing files and then removing the unnecessary ones

by periapt (Hermit)
on Feb 28, 2005 at 13:58 UTC ( #435054=note: print w/ replies, xml ) Need Help??

in reply to memorizing files and then removing the unnecessary ones

BrowserUk's solution might be a little more clear (if a little less efficient) if it is viewed this way. Use one hash and one array. Store the initial set of file names as keys in a hash and store the second set in an array. You then only need to compare the list of files in the second set against the hash. Every file that doesn't exist in the hash can be deleted.

my %set01 = (); $set01{$_} = 1 foreach (glob("*.*"); # identify each file in director +y ..... # code that creates secondary files # my @new_files = (); # keep a list of +new files if you want my @set02 = glob("*.*"); foreach (@set02){ # push @new_files, $_ unless(exists($set01{$_})) unlink $_ unless(exists($set01{$_})); # delete files that weren't + aren't in original set } print "original files\n",sort keys %set01,"\nnew files\n",sort @set02, +"\n";
You can shorten/improve this code any number of ways but it does rather simply show what needs to be done

use strict; use warnings; use diagnostics;

Comment on Re: memorizing files and then removing the unnecessary ones
Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://435054]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (13)
As of 2014-08-21 15:12 GMT
Find Nodes?
    Voting Booth?

    The best computer themed movie is:

    Results (136 votes), past polls