>perl -MO=Deparse,-x9 -e"if(my $x=$a<$b){$a;}" my $x = $a < $b and do { $a }; -e syntax OK #### do { ( $a < $b ) and do { $a } }; #### ( $a < $b ) and do { $a }; #### ... { ... if (my $obj = ...) { ... } . . # $obj still exists here "anonymously". . } # $obj cleared here, so destructor only called here. ...