in reply to returning from the middle of a loop

As other posters said, this is fine. An alternative would be to do this:
sub blah { ... OUTER: foreach my $b (@blah) { foreach my $y (@yuck) { ... last OUTER if $something; ... } } # clean up }