Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

perl::critic::policy::variables::requireinitializationforlocalva(3) [centos man page]

Perl::Critic::Policy::Variables::RequireInitializationFoUseraContributed PerlPerl::Critic::Policy::Variables::RequireInitializationForLocalVars(3)

NAME
Perl::Critic::Policy::Variables::RequireInitializationForLocalVars - Write "local $foo = $bar;" instead of just "local $foo;". AFFILIATION
This Policy is part of the core Perl::Critic distribution. DESCRIPTION
Most people don't realize that a localized copy of a variable does not retain its original value. Unless you initialize the variable when you "local"-ize it, it defaults to "undef". If you want the variable to retain its original value, just initialize it to itself. If you really do want the localized copy to be undef, then make it explicit. package Foo; $Bar = '42'; package Baz; sub frobulate { local $Foo::Bar; #not ok, local $Foo::Bar is 'undef' local $Foo::Bar = undef; #ok, local $Foo::Bar is obviously 'undef' local $Foo::Bar = $Foo::Bar; #ok, local $Foo::Bar still equals '42' } CONFIGURATION
This Policy is not configurable except for the standard options. 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.16.3 2014-06-0Perl::Critic::Policy::Variables::RequireInitializationForLocalVars(3)

Check Out this Related Man Page

Perl::Critic::Policy::Variables::ProhibitPerl4PackageNamUserpContributed Perl DocumPerl::Critic::Policy::Variables::ProhibitPerl4PackageNames(3pm)

NAME
Perl::Critic::Policy::Variables::ProhibitPerl4PackageNames - Use double colon (::) to separate package name components instead of single quotes ('). AFFILIATION
This Policy is part of the core Perl::Critic distribution. DESCRIPTION
Perl 5 kept single quotes ("'") as package component separators in order to remain backward compatible with prior "perl"s, but advocated using double colon ("::") instead. In the more than a decade since Perl 5, double colons have been overwhelmingly adopted and most people are not even aware that the single quote can be used in this manner. So, unless you're trying to obfuscate your code, don't use them. package Foo::Bar::Baz; #ok package Foo'Bar'Baz; #not ok CONFIGURATION
This Policy is not configurable except for the standard options. SEE ALSO
perlmod 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 v5.14.2 2012-06-07 Perl::Critic::Policy::Variables::ProhibitPerl4PackageNames(3pm)
Man Page

We Also Found This Discussion For You

1. Shell Programming and Scripting

Awk multiple variable array: comparison

Foo.txt 20 40 57 50 22 51 66 26 17 15 63 18 80 46 78 99 87 2 14 14 51 47 49 100 58 Bar.txt 20 22 51 15 63 78 99 55 51 58 How to get output using awk 20 22 57 50 51 15 26 17 63 78 80 46 99 55 - - 51 58 49 100 (5 Replies)
Discussion started by: genehunter
5 Replies