in reply to Perlish while loop

If you know you will stick with these three files (people, animal, msi), it's OK; but if you think that maybe the files to check might change, or will become more, you might want to set up a table of valid filenames,

my %filenames = ( 'people.pdf' => 'People', 'setup.msi' => 'MSI', # etc. )
In your loop, you would check whether $filename occurs in %keys %filenames, and if it does, removes it from %filenames. After the loop, you just have to print values %filenames to list the names of files which haven't been found. This will be a lot easier to maintain.

-- 
Ronald Fischer <ynnor@mm.st>