Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic(3pm) | User Contributed Perl Documentation | Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic(3pm) |
Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic - Don't use $_ to match against regexes.
This Policy is part of the Perl::Critic distribution.
It is not necessary to specify the topic variable $_ when matching against a regular expression.
Match or substitution operations are performed against variables, such as:
$x =~ /foo/; $x =~ s/foo/bar/; $x =~ tr/a-mn-z/n-za-m/;
If a variable is not specified, the match is against $_.
# These are identical. /foo/; $_ =~ /foo/; # These are identical. s/foo/bar/; $_ =~ s/foo/bar/; # These are identical. tr/a-mn-z/n-za-m/; $_ =~ tr/a-mn-z/n-za-m/;
This applies to negative matching as well.
# These are identical if ( $_ !~ /DEBUG/ ) { ... if ( !/DEBUG ) { ...
Including the "$_ =~" or "$_ !~" is unnecessary, adds complexity, and is not idiomatic Perl.
This Policy is not configurable except for the standard options.
Andy Lester <andy@petdance.com>
Copyright (c) 2013 Andy Lester <andy@petdance.com>
This library is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.
2023-01-15 | perl v5.36.0 |