while (@delete_me) { $x = pop(@delete_me); unlink $x or die "Can't unlink $x : $!"; } #### #!/usr/local/bin/perl -w use strict; use Fcntl ':flock'; use CGI qw/:standard/; use CGI::Carp qw/fatalsToBrowser /; my $base_path="/home/mysite/www/clean_up"; my $search_terms_file="$base_path/terms.txt"; my $file_to_search="$base_path/searchme.html"; my ($term,$results,@delete_me, $x); do_the_clean_up(); sub do_the_clean_up { open (ST,"$search_terms_file") or die "where's the search_terms file? : $!"; flock (ST,LOCK_EX) or die "Couldn't flock search_terms: $!"; my @search_terms = ; flock(ST,LOCK_UN); close ST or die "search_terms won't close : $!"; chomp (@search_terms); open (FTS,"$file_to_search") or die "where's the file_to_search? : $!"; flock (FTS,LOCK_EX) or die "Couldn't flock file_to_search.: $!"; my @file = ; foreach $term(@search_terms) { if ( !grep { /$term/ } @file ) { $term="$base_path$term"; push (@delete_me,$term); } } flock(FTS,LOCK_UN); close FTS or die "Couldn't close file_to_search. : $!"; my @file_list = @delete_me; while (@delete_me) { $x = pop(@delete_me); unlink $x or die "Can't unlink $x : $!"; } print "Content-type: text/html\n\n"; print "

Deleted Files

"; foreach $_(@file_list) { print "$_
"; } exit; }