Andy Lester > Perl-Critic-1.121_01 > Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic

Download:
Perl-Critic-1.121_01.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 1.121_01   Source   Latest Release: Perl-Critic-1.122

NAME ^

Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic - Don't use $_ to match against regexes.

AFFILIATION ^

This Policy is part of the Perl::Critic distribution.

DESCRIPTION ^

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.

CONFIGURATION ^

This Policy is not configurable except for the standard options.

AUTHOR ^

Andy Lester <andy@petdance.com>

COPYRIGHT ^

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.

syntax highlighting: