I skipped the "or die" checks because this is just a quick hack to populate the files I need to include in my PARPacker build list. I agree though this should always be done.
I just checked on your suggestion and you are right, readdir is the one not picking up the similarly named files, though I have absolutely no idea why.
There are no strange files present. No file named "0" or any weird symbols (not that it should matter). It is basically just a folder full of a couple hundred .jpg files with simple names.
I'm using Perl 5.12 so the use in a while loop should be no problem.