manpagez: man pages & more
man Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline(3)
Home | html | info | man
Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline(3)



NAME

       Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline -
       Use "{" and "}" to delimit multi-line regexps.


AFFILIATION

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


DESCRIPTION

       Long regular expressions are hard to read.  A good practice is to use
       the "x" modifier and break the regex into multiple lines with comments
       explaining the parts.  But, with the usual "//" delimiters, the
       beginning and end can be hard to match, especially in a "s///" regexp.
       Instead, try using "{}" characters to delimit your expressions.

       Compare these:

           s/
              <a \s+ href="([^"]+)">
               (.*?)
              </a>
            /link=$1, text=$2/xms;

       vs.

           s{
              <a \s+ href="([^"]+)">
               (.*?)
              </a>
            }
            {link=$1, text=$2}xms;

       Is that an improvement?  Marginally, but yes.  The curly braces lead
       the eye better.


CONFIGURATION

       There is one option for this policy, "allow_all_brackets".  If this is
       true, then, in addition to allowing "{}", the other matched pairs of
       "()", "[]", and "<>" are allowed.


CREDITS

       Initial development of this policy was supported by a grant from the
       Perl Foundation.


AUTHOR

       Chris Dolan <cdolan@cpan.org>


COPYRIGHT

       Copyright (c) 2007-2011 Chris Dolan.  Many rights reserved.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.  The full text of this license can
       be found in the LICENSE file included with this module




perl v5.Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline(3)

perl-critic 1.134.0 - Generated Tue Jun 4 14:32:42 CDT 2019
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.