logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching - Always use the "/m" modifier with

Affiliation

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

Author

       Jeffrey Ryan Thalhammer  <jeff@imaginative-software.com>

Configuration

       This Policy is not configurable except for the standard options.

Description

       Folks coming from a "sed" or "awk" background tend to assume that '$' and '^' match the beginning and end
       of the line, rather than then beginning and end of the string.  Adding the '/m' flag to your regex makes
       it behave as most people expect it should.

           my $match = m{ ^ $pattern $ }x;  #not ok
           my $match = m{ ^ $pattern $ }xm; #ok

Name

       Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching - Always use the "/m" modifier with
       regular expressions.

Notes

       For common regular expressions like e-mail addresses, phone numbers, dates, etc., have a look at the
       Regexp::Common module.  Also, be cautions about slapping modifier flags onto existing regular
       expressions, as they can drastically alter their meaning.  See <http://www.perlmonks.org/?node_id=484238>
       for an interesting discussion on the effects of blindly modifying regular expression flags.

See Also