Unix/Linux Go Back    


CentOS 7.0 - man page for perl::critic::policy::inputoutput::prohibitbarewordfilehandles (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


Perl::Critic::Policy::InputOutpUPerl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles(3)

NAME
       Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles - Write "open my $fh, q{<},
       $filename;" instead of "open FH, q{<}, $filename;".

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

DESCRIPTION
       Using bareword symbols to refer to file handles is particularly evil because they are
       global, and you have no idea if that symbol already points to some other file handle.  You
       can mitigate some of that risk by "local"izing the symbol first, but that's pretty ugly.
       Since Perl 5.6, you can use an undefined scalar variable as a lexical reference to an
       anonymous filehandle.  Alternatively, see the IO::Handle or IO::File or FileHandle modules
       for an object-oriented approach.

	   open FH, '<', $some_file;	       #not ok
	   open my $fh, '<', $some_file;       #ok
	   my $fh = IO::File->new($some_file); #ok

       There are three exceptions: STDIN, STDOUT and STDERR.  These three standard filehandles
       are always package variables.

CONFIGURATION
       This Policy is not configurable except for the standard options.

SEE ALSO
       IO::Handle

       IO::File

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.

perl v5.16.3			Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 06:14 AM.