Update: I noticed that
Errto already pointed out your mistake with absolute filenames as keys.
Repetita juvant :)
You're comparing files from different disks. So, you simply have that:
"c:/temp/filename.txt" eq "e:/temp/filename.txt"
is false, even if you expect it to be true. You should therefore remove all the prefix that makes your paths different, and you'll probably be happy then. In your case, you can remove the disk specifier, for example:
"/temp/filename.txt" eq "/temp/filename.txt"
is true at last. Also, keep in mind that Windows filenames do not make distinctions between uppercase and lowercase (at least FAT32), so you'd better use
lc on the filenames before using them as keys in your hashes.
Flavio
perl -ple'$_=reverse' <<<ti.xittelop@oivalf
Don't fool yourself.