table of contents
other versions
- Tumbleweed 0.9.0-1.1
- Leap-16.0
- Leap-15.6
| Perl::Critic::Policy::Variables::ProhibitLoopOnHash(3) | User Contributed Perl Documentation | Perl::Critic::Policy::Variables::ProhibitLoopOnHash(3) |
NAME¶
Perl::Critic::Policy::Variables::ProhibitLoopOnHash - Don't write loops on hashes, only on keys and values of hashes
VERSION¶
version 0.009
DESCRIPTION¶
When "looping over hashes," we mean looping over hash keys or hash values. If you forgot to call "keys" or "values" you will accidentally loop over both.
foreach my $foo (%hash) {...} # not ok
action() for %hash; # not ok
foreach my $foo ( keys %hash ) {...} # ok
action() for values %hash; # ok
An effort is made to detect expressions:
action() for %hash ? keys %hash : (); # ok
action() for %{ $hash{'stuff'} } ? keys %{ $hash{'stuff'} } : (); # ok
(Granted, the second example there doesn't make much sense, but I have found a variation of it in real code.)
CONFIGURATION¶
This policy is not configurable except for the standard options.
AUTHOR¶
Sawyer X, "xsawyerx@cpan.org"
THANKS¶
Thank you to Ruud H.G. Van Tol.
SEE ALSO¶
Perl::Critic
AUTHOR¶
Sawyer X
COPYRIGHT AND LICENSE¶
This software is Copyright (c) 2026 by Sawyer X.
This is free software, licensed under:
The MIT (X11) License
| 2026-01-13 | perl v5.42.0 |