my $error; { ...; $error = 'message', last if ( $foo == $bar ); ...; } if (defined $error) { ...; # clean up mess and/or warn the user } #### { do { ...; $foo == $bar and warn 'foo bar problem'; } or do { ...; } or do { last; } ...; # clean up mess }