http://www.perlmonks.org?node_id=988756


in reply to Re: Looking for pointers or optimizations.
in thread Looking for pointers or optimizations.

Please correct me if I am wrong (sometimes I am) but I think that no warnings; works for the -w switch too. I was asking myself the same question a while ago. Try this:

#!/usr/bin/perl5.10 -w my %hash1 = { test1 => 'test1', test2 => 'test2' }; no warnings; my %hash2 = { test1 => 'test1', test2 => 'test2' }; use warnings; my %hash3 = { test1 => 'test1', test2 => 'test2' };

I get:

Reference found where even-sized list expected at ./test_warnings.pl l +ine 3. Reference found where even-sized list expected at ./test_warnings.pl l +ine 15.

Now the question is, what is the difference if any between the -w switch and use warnings;?

Update: Answering myself, on perldoc it says: The warnings pragma is a replacement for the command line flag -w , but the pragma is limited to the enclosing block, while the flag is global.

Take my advice. I don't use it anyway.