in reply to "return" to break out of a loop
Also compare the relatively simple
to the mess you get when you start to believe that there should be only one return in a sub:sub direct_return { my ($enum,$check_type,$enums) = @_; foreach my $enum (@$enums) { return 1 if ( $check_type eq $enum); } return; }
sub otherwise { my ($enum,$check_type,$enums) = @_; my $flag = 0; LOOP: foreach my $enum (@$enums) { if ( $check_type eq $enum) { $flag = 1; last LOOP; # not really needed unless you've got nested loops } } return $flag ? $flag : wantarray ? () : undef; }
|
|---|