#!/usr/bin/perl use strict; use warnings; # let's just remove the else sub foo { if (@_) { return 10 + do { my $dummy; return 1; }; } 0; } sub bar { if (@_) { return 10 + eval { my $dummy; return 1; }; } 0; } print foo() . ' ' . foo('baz') . "\n"; # 1 0 print bar() . ' ' . bar('baz') . "\n"; # 11 0