By calling keys in a scalar context, we reset its internal state to ensure that the next each used in the return statement will get the first key.
sub find_stuff { my $self = shift; scalar keys %$self; while (my $k = each %$self) { return $k if ($self->{$k}->{blablah}); } return undef; }
Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.
I shouldn't have to say this, but any code, unless otherwise stated, is untested
In reply to Re: Optimization, side-effects and wrong code
by dragonchild
in thread Optimization, side-effects and wrong code
by cbraga
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |