Perl::Critic::Policy::Variables::ProhibitPunctuationVars man page on Fedora

Printed from http://www.polarhome.com/service/man/?qf=Perl%3A%3ACritic%3A%3APolicy%3A%3AVariables%3A%3AProhibitPunctuationVars&af=0&tf=2&of=Fedora

Perl::Critic::PolicPerl::Critic::Policy::Variables::ProhibitPunctuationVars(3)

NAME
       Perl::Critic::Policy::Variables::ProhibitPunctuationVars - Write
       "$EVAL_ERROR" instead of "$@".

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

DESCRIPTION
       Perl's vocabulary of punctuation variables such as $!, $., and $^ are
       perhaps the leading cause of its reputation as inscrutable line noise.
       The simple alternative is to use the English module to give them clear
       names.

	 $| = undef;			  #not ok

	 use English qw(-no_match_vars);
	 local $OUTPUT_AUTOFLUSH = undef; #ok

CONFIGURATION
       The scratch variables $_ and @_ are very common and are pretty well
       understood, so they are exempt from this policy.	 The same goes for the
       less-frequently-used default filehandle "_" used by stat().  All the
       regexp capture variables ($1, $2, ...) are exempt too.  $] is exempt
       because there is no English equivalent and Module::CoreList is based
       upon it.

       You can add more exceptions to your configuration.  In your
       perlcriticrc file, add a block like this:

	 [Variables::ProhibitPunctuationVars]
	 allow = $@ $!

       The "allow" property  should  be	 a  whitespace-delimited  list	of
       punctuation variables.

       Other configuration options  control  the  parsing  of  interpolated
       strings in the search for forbidden variables. They have	 no  effect on
       detecting punctuation variables outside of interpolated	strings.

	 [Variables::ProhibitPunctuationVars]
	 string_mode = thorough

       The option "string_mode"	 controls  whether  and	 how  interpolated
       strings are searched for punctuation variables. Setting "string_mode =
       thorough", the default,	checks	for  special  cases that may look like
       punctuation variables  but  aren't,  for	 example $#foo, an array index
       count; $$bar, a scalar  dereference;  or $::baz, a global symbol.

       Setting "string_mode = disable" causes all interpolated strings	to be
       ignored entirely.

       Setting "string_mode = simple" uses a simple regular expression	to
       find matches. In this mode, the magic variables $$, "$'",  $# and $:
       are ignored within interpolated strings due  to	the  high risk of
       false positives. Simple mode is	retained  from	an  earlier draft of
       the interpolated- strings code. Its use is only recommended as a
       workaround if bugs appear in thorough mode.

       The  "string_mode"  option  will	 go  away  when	 the  parsing	of
       interpolated strings is implemented in PPI. See	"CAVEATS"  below.

BUGS
       Punctuation variables that confuse PPI's document parsing may not be
       detected	 correctly  or	at  all,  and  may  prevent  detection	 of
       subsequent ones. In particular, $" is known to cause difficulties in
       interpolated strings.

CAVEATS
       ProhibitPunctuationVars	relies	 exclusively   on   PPI	  to   find
       punctuation variables in code, but does all the parsing	itself	for
       interpolated strings. When, at some  point,  this  functionality	 is
       transferred to PPI, ProhibitPunctuationVars  will  cease	 doing	the
       interpolating  and  the	"string_mode"	option	 will	go   away.

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

COPYRIGHT
       Copyright (c) 2005-2011 Imaginative Software Systems.  All 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.14.1	   Perl::Critic::Policy::Variables::ProhibitPunctuationVars(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net