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



NAME

       Perl::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters
       - Don't use quotes ("'", """, "`") as delimiters for the quote-like
       operators.


AFFILIATION

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


DESCRIPTION

       With the obvious exception of using single-quotes to prevent
       interpolation, using quotes with the quote-like operators kind of
       defeats the purpose of them and produces obfuscated code, causing
       problems for future maintainers and their editors/IDEs.

           $x = q"q";                #not ok
           $x = q'q';                #not ok
           $x = q`q`;                #not ok

           $x = qq"q";               #not ok
           $x = qr"r";               #not ok
           $x = qw"w";               #not ok

           $x = qx`date`;            #not ok

           $x =~ m"m";               #not ok
           $x =~ s"s"x";             #not ok
           $x =~ tr"t"r";            #not ok
           $x =~ y"x"y";             #not ok

           $x =~ m'$x';              #ok
           $x =~ s'$x'y';            #ok
           $x = qr'$x'm;             #ok
           $x = qx'finger foo@bar';  #ok


CONFIGURATION

       This policy has three options: "single_quote_allowed_operators",
       "double_quote_allowed_operators", and "back_quote_allowed_operators",
       which control which operators are allowed to use each of "'", """, "`"
       as delimiters, respectively.

       The values allowed for these options are a whitespace delimited
       selection of the "m", "q", "qq", "qr", "qw", "qx", "s", "tr", and "y"
       operators.

       By default, double quotes and back quotes (backticks) are not allowed
       as delimiters for any operators and single quotes are allowed as
       delimiters for the "m", "qr", "qx", and "s" operators.  These defaults
       are equivalent to having the following in your .perlcriticrc:

           [ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters]
           single_quote_allowed_operators = m s qr qx
           double_quote_allowed_operators =
           back_quote_allowed_operators =


SUGGESTED BY

       Michael Schwern


AUTHOR

       Elliot Shank "<perl@galumph.com>"


COPYRIGHT

       Copyright (c) 2007-2011 Elliot Shank.

       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::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters(3)

perl-critic 1.134.0 - Generated Wed Jun 5 10:35:54 CDT 2019
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.