in reply to use warnings vs. -w

The warnings pragma was added in perl version 5.6. Putting #!perl -w at the top of your script is slightly different then use warnings. That difference is that use warnings is lexically scoped (like my variables, so that you can require without warnings being on in the require'd file.) while -w stays on unless explictly turned off with the special $^W variable. (Which the warnings pragma is probably more convient then.)