http://qs321.pair.com?node_id=11118544


in reply to Re: If statement not working
in thread If statement not working

This is an assignment (using =) clobbering $_ with an empty array. An assignment of an undefined ... Similar to if ($_ = ()) or if ($_ = undef).

$_ is clobbered with the true/false result of evaluating the match of the regex against $_:

c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -e "print 'Enter a string and I will determine the data type: '; chomp($_ = <STDIN>); dd 'A:', $_; ;; if ($_ = (m/^[\$]\w/)) { print qq{\n'$_' is a scalar data type\n}; } dd 'B:', $_; ;; if ($_ = (m/^[\@]\w/)) { print qq{\n'$_' is an array data type\n}; } dd 'C:', $_; " Enter a string and I will determine the data type: $scalar ("A:", "\$scalar") '1' is a scalar data type ("B:", 1) ("C:", "") c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -e "print 'Enter a string and I will determine the data type: '; chomp($_ = <STDIN>); dd 'A:', $_; ;; if ($_ = (m/^[\$]\w/)) { print qq{\n'$_' is a scalar data type\n}; } dd 'B:', $_; ;; if ($_ = (m/^[\@]\w/)) { print qq{\n'$_' is an array data type\n}; } dd 'C:', $_; " Enter a string and I will determine the data type: @ra ("A:", "\@ra") ("B:", "") ("C:", "")


Give a man a fish:  <%-{-{-{-<

Replies are listed 'Best First'.
Re^3: If statement not working
by perlfan (Vicar) on Jun 25, 2020 at 19:59 UTC
    ty fixed