use Sub::ScopeFinalizer qw( scope_finalizer ); for my $a (@b) { my $anchor = scope_finalizer { perform_cleanup(); }; next if ...; do_something(); next if ...; do_something_else(); next if ...; do_something_again(); }