Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

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

Perl::Critic::Policy::Variables::RequireInitializationFoUseraContributed PePerl::Critic::Policy::Variables::RequireInitializationForLocalVars(3pm)

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.14.2 2012-06Perl::Critic::Policy::Variables::RequireInitializationForLocalVars(3pm)

Check Out this Related Man Page

Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersUsertContributed PePerl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings(3pm)

NAME
Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings - Don't use strings like "v1.4" or "1.4.5" when including other modules. AFFILIATION
This Policy is part of the core Perl::Critic distribution. DESCRIPTION
Whenever you "use" or "require" a module, you can specify a minimum version requirement. To ensure compatibility with older Perls, this version number should be expressed as a floating-point number. Do not use v-strings or three-part numbers. The Perl convention for expressing version numbers as floats is: version + (patch level / 1000). use Foo v1.2 qw(foo bar); # not ok use Foo 1.2.03 qw(foo bar); # not ok use Foo 1.00203 qw(foo bar); # ok 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.14.2 2012-06Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings(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