in reply to "return" to break out of a loop

Yes, you're being overly fussy. This type of construct is very common because it is both clear and more efficient than say setting a "truth flag" then having to finish examining the rest of the values.

The other way to write this and to keep efficiency is something like:

my($flag)=0; foreach my $enum( @$enums) { if ( $check_type eq $enum) { $flag = 1; last; } } return $flag;
Which is about twice as long. So, I personally like the 4 line version better.

-Scott

Update: I like anonymous monk's one line grep version above even more :-)