in reply to If statement not working
if ($_ = (m/^[\$]\w/)) {
Solution pointed out below. This is an assignment (using =) clobbering $_ with an empty array the true/false result. An assignment of an undefined thing evaluates to false every time. Similar to if ($_ = ()) or if ($_ = undef).
Update - because I was curious:
perl -MO=Deparse,-P -e 'if($_ = (m/foo/)) { print 'hi' }' if ($_ = /foo/) { print hi $_; } -e syntax OK
A little more insight.
update 2- corrected ty
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: If statement not working
by AnomalousMonk (Archbishop) on Jun 25, 2020 at 18:44 UTC | |
by perlfan (Vicar) on Jun 25, 2020 at 19:59 UTC |
In Section
Seekers of Perl Wisdom