Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

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

PJ
use strict; use warnings; use diagnostics;


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

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2014-10-22 05:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (112 votes), past polls