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


in reply to shift and logical or

Consider

my $val ||= "undefined"

Which is equivalent to:

if (!$val) { $val = "undefined"; }

Blocks of code like that tend to clutter up your code.

Also consider:

$val = ($val) ? "defined" : "undefined";

Which is equivalent to:

if ($val) { $val = "defined"; } else { $val = "undefined"; }

Also, remember perl evaluates expressions for truth.

Replies are listed 'Best First'.
Re^2: shift and logical or
by Kenosis (Priest) on Nov 17, 2012 at 02:41 UTC

    Defined, undefined or false?

    use strict; use warnings; my $val = 0; print +($val) ? "defined" : "undefined"; # prints undefined print "\n"; print +(defined $val) ? "defined" : "undefined"; # prints defined undef $val; print "\n"; print +(defined $val) ? "defined" : "undefined"; # prints undefined