my %filenames = ( people.pdf => 'Person', animal.pdf => 'animal', setup.msi => 'MSI file', ); ... for (keys %filenames) { delete $filenames{$_} if $filename eq $_; } } } for (values %filenames) { print "$_ not found\n"; } ...