in reply to verifying user input with Find::File

because with the -e file operator, I can only search in my current directory

Sure you can look into another directory with the -e and other file test operators:

$ perl -e '$search_file = "/usr/bin/perldoc"; print $search_file if -e + ($search_file);' /usr/bin/perldoc $ perl -e '$search_file = "/usr/bin/perldoc"; print "file size of $sea +rch_file is ", -s ($search_file), "\n";' file size of /usr/bin/perldoc is 224
But of course you can't walk through your entire file system with just the -e operator. But from reading your assignment, your don't seem to be required to do that and looking into the current directory for files and one subdirectory should be sufficient.

Using the File::Find module is certainly a good option in general, but might not be what you are requested to do in an assignment. And it involves relatively advanced topics such as callbacks and subroutine references that are likely to be beyond what you have covered so far.