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 <[email protected]>
Copyright (c) 2013−2023 Andy Lester <[email protected]>
This library is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.