I fail to see how adding die statements would help find a *compile* error. BEGIN { die } might help, but for this type of problem, I usually remove entire chunks from the file until perl -c doesn't find the error. The last thing removed contains the error. Re-add smaller bits until the error comes back if the chunk was too big.