Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Perl::Critic::PoPerl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval(3)

NAME
       Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval - Write
       "eval { my $foo; bar($foo) }" instead of "eval "my $foo; bar($foo);"".

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

DESCRIPTION
       The string form of "eval" is recompiled every time it is executed,
       whereas the block form is only compiled once.  Also, the string form
       doesn't give compile-time warnings.

	   eval "print $foo";	     # not ok
	   eval {print $foo};	     # ok

CONFIGURATION
       There is an "allow_includes" boolean option for this Policy.  If set,
       then strings that look like they only include a single "use" or
       "require" statement (with the possible following statement that
       consists of a single number) are allowed.  With this option set, the
       following are flagged as indicated:

	   eval 'use Foo';	       # ok
	   eval 'require Foo';	       # ok
	   eval "use $thingy;";	       # ok
	   eval "require $thingy;";    # ok
	   eval "use $thingy; 1;";     # ok
	   eval "require $thingy; 1;"; # ok

	   eval 'use Foo; blah;';      # still not ok
	   eval 'require Foo; 2; 1;';  # still not ok
	   eval 'use $thingy;';	       # still not ok
	   eval 'no Foo';	       # still not ok

       If you don't understand why the number is allowed, see
       Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval.

       This option inspired by Ricardo SIGNES'
       Perl::Critic::Policy::Lax::ProhibitStringyEval::ExceptForRequire.

SEE ALSO
       Perl::Critic::Policy::ControlStrucutres::RequireBlockGrep

       Perl::Critic::Policy::ControlStrucutres::RequireBlockMap

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::BuiltinFunctions::ProhibitStringyEval(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