my @dispatch = ( [ sub { $_[0]->is_hungry }, sub { $_[0]->go_eat } ], ); foreach my $choice (@dispatch) { next unless $choice->[0]->( $self ); $choice->[1]->( $self ); last; }