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

mikeraz has asked for the wisdom of the Perl Monks concerning the following question:

Update: It's been pointed out that if this were not the case we'd all be:

$foo = $bar; if( $foo ) { ...
And that is not a GoodThing(tm).
Given:
#!/usr/bin/perl use strict; use warnings; my $foo = 1; my $bar = 2; if ($foo = 2) { print "foo is 2\n"; } if ($foo = $bar) { print "foo is bar two too\n"; }
I get output of:
Found = in conditional, should be == at ./tpl line 8. foo is 2 foo is bar two too
Why no warning when $foo = $bar? It's the same kind of typo error that is being caught with  $foo = 2

The question was posed on the perl-beginners email list. `man warnings` did not provide a clue. `perldoc -q` for conditional and warnings did not turn up an answer. I don't have an answer, much less a good one, for the OP.


Be Appropriate && Follow Your Curiosity