I received advice on CB today and while I am trying to implement the advice into my sub I find it deleting all files not just files with .bak extensions, even trying to delete the directories. The example that was given to me was for a print, I tried to translate the example into a system call and a print but I am having trouble with it.
Here is the example given to me on cb
@matches; find(sub { push @matches, $File::Find::name if /\.bak\z/ }, $search_dir);And here is my attempt of implementing it into my script
use strict; use warnings; use File::Find; deleteBak(); sub deleteBak { my $searchdir = '/emc/cccadm/scripts/perl/etc-test'; my ($answer, $file, @bak); print "Are you sure you would like to delete all *.bak files that +exist in: $searchdir [yes/no] "; chomp($answer = <STDIN>); if ($answer eq 'yes'){ my @bak; find(sub { @bak = ($File::Find::name) if /\.bak\z/ or print ("No File +s\n"); foreach $file (@bak) { system("rm -f $file"); print "Deleting $file\n"; } }, $searchdir); } else { print "You did not enter [yes]. Exiting program.\n"; exit; } }
In reply to Need help deleting *.bak files by MikeDexter
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |