use Data::Dumper; $Data::Dumper::Terse=1; $Data::Dumper::Useqq=1; $Data::Dumper::Indent=0; for my $x (0, "0", "", undef, "true", 1) { my $y=$x; $y||='?'; print Dumper($x), " -> ", Dumper($y), "\n"; } __END__ 0 -> "?" 0 -> "?" "" -> "?" undef -> "?" "true" -> "true" 1 -> 1