my $action = \&initial_action; for (@input){ if (/$Start/){ $action = \&do_this; } elsif (/$Finish/){ $action = \&do_that; } # perform your action $action->(); }