$foo = $bar || 'baz';
# is identical to
$foo = ( $bar or 'baz');
####
open( $fh, '>', $filename ) or die "Unable to open file: $!";
my $foo = $bar || 'baz';
####
# Original code
$self->{'Post'} = ($args{'Post'} or sub {1;});
# High precedence or
$self->{'Post'} = $args{'Post'} || sub {1};
# Ternary operator
$self->{'Post'} = $args{'Post'} ? $args{'Post') : sub {1};
# Using '||' for a numeric value.
$self->{'Number'} = $args{'Number'} || 10;
####
foo();
foo(23);
foo(0);
sub foo {
my $number = shift || 10;
print "My number is $number\n";
}
__END__ #OUTPUT:
My number is 10
My number is 23
My number is 10
####
foo();
foo(23);
foo(0);
sub foo {
my $number = shift // 10;
print "My number is $number\n";
}
__END__ #OUTPUT:
My number is 10
My number is 23
My number is 0