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 (Parson) on Jun 25, 2020 at 19:59 UTC |