liverpole and
andyford have pointed you to probable issues with working directory. I just want to suggest that your
if condition in
sub srcfind might be simpler to understand and save some typing if you move the alternation into the regular expression and do just one match, like this
if ( -f $file && $file =~ m{\.(?:Z|zip|tar)$} )
I hope this is of use.
Cheers,
JohnGG