use strict;
use warnings;
use Data::Dump::Streamer;
my $value = undef;
print !!$value;
my $nothing = nothing ();
my $retNothing = retNothing ();
my $retUndef = retUndef ();
my $retFalse = retFalse ();
my $retFalse2 = -retFalse ();
Dump (\$nothing);
Dump (\$retNothing);
Dump (\$retUndef);
Dump (\$retFalse);
Dump (\$retFalse2);
sub nothing {
}
sub retNothing {
return;
}
sub retUndef {
return undef;
}
sub retFalse {
return 1 == 0;
}
####
$SCALAR1 = \do { my $v = undef };
$SCALAR1 = \do { my $v = undef };
$SCALAR1 = \do { my $v = undef };
$SCALAR1 = \do { my $v = '' };
$SCALAR1 = \do { my $v = 0 };
####
...
my @nothing = nothing ();
my @retNothing = retNothing ();
my @retUndef = retUndef ();
my @retFalse = retFalse ();
my @retFalse2 = -retFalse ();
Dump (\@nothing);
Dump (\@retNothing);
Dump (\@retUndef);
Dump (\@retFalse);
Dump (\@retFalse2);
...
####
$ARRAY1 = [];
$ARRAY1 = [];
$ARRAY1 = [ undef ];
$ARRAY1 = [ '' ];
$ARRAY1 = [ 0 ];