Eh, "Pseudo hashes are deprecated" IS a warning. Which explains both why the program continues the first time, and gives an exception after changing warnings into fatals.
Comment on Re: use warnings; and deprecated Pseudo hashes
This would explain why no exception has been thrown originally, so the crash must have occured later (as a consequence of the error), before the program had a chance to output something. This makes sense to me - thanks a lot.