bofh_of_oz,
Ok, I am a big advocator of using the
strict and
warnings pragmas as well as the
diagnostics when necessary. With that said, how does a novice distinguish between a warning an error. Consider the following 1 liner
perl -e "my $foo; my $bar = 3; $bar += $foo; print $bar"
versus
perl -Mwarnings -e "my $foo; my $bar = 3; $bar += $foo; print $bar"
Perl's DWYMery silently converts undef to 0 for us without warnings producing the correct answer in both cases but with warnings it
warns me of a
potential problem. In fact, Perl isn't consistent in its warnings:
# ++ is a short cut for $foo = $foo + 1
perl -Mwarnings -e "my $foo; $foo++; print $foo"