in reply to Should we bother to save hash lookups for performance?
sub do_somn { my $self = shift; for my $username ($self->{username}) { my $a = $username; my $b = $username; # ... } }
for only aliases the variable to the value. Thus you also avoid the synchonization problems diotalevi mentioned.
In fact I use this relatively often not for performance, but as a form of abstraction. I find
/x/ and $_ .= "y" for $self->{option}; more readable than $self->{option} .= "y" if $self->{option} =~ /x/; And it also adheres to the "do it once and only once" principle. If I change my mind about the hash key's name, I only have one place to update vs 2 (or 3 or 4 or 15..).Makeshifts last the longest.
|
|---|