It would have been nice if you had included the warning message ;-) Update: Oh, so there it is - quite well hidden, indeed! :-) Confirms my suspicions, too.
I'm betting it's your sub wanted inside your sub get_files. A slight change may help if this is the case:
sub get_files { my $directory = shift; opendir (DIR, $directory) or die "couldn't open directory: $direct +ory"; my @myfiles; my @directories_to_search = ("$directory"); my $wanted = sub { my $name = $File::Find::name; if ( $name =~ /html$/i && ! ( $name =~ /\.backup\.before/i ) ) + { $name =~ s|\\|/|; # substitute forward slash for back slas +hes, icky but don't know a better way. #print "name: $name\n"; push @myfiles, $name; } } # end sub wanted find($wanted, @directories_to_search); return @myfiles; }
Update 2: For those who may have missed it, all I did was move the named "wanted" sub to an anony-sub, and put a ref to it in a lexical variable named "$wanted", and used that. I didn't change any of the rest of tphyahoo's code.
In reply to Re: Help taming File::Find
by Tanktalus
in thread Help taming File::Find
by tphyahoo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |