Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

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;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://435054]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2018-05-27 18:31 GMT
Find Nodes?
    Voting Booth?