NAME

Perl::Critic::Policy::Community::BarewordFilehandles - Don't use bareword filehandles other than built-ins

DESCRIPTION

Bareword filehandles are allowed in open() as a legacy feature, but will use a global package variable. Instead, use a lexical variable with my so that the filehandle is scoped to the current block, and will be automatically closed when it goes out of scope. Built-in bareword filehandles like STDOUT and DATA are ok.

open FH, '<', $filename;     # not ok
open my $fh, '<', $filename; # ok

This policy is similar to the core policy Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles, but allows more combinations of built-in bareword handles and filehandle-opening functions such as pipe and socketpair.

AFFILIATION

This policy is part of Perl::Critic::Community.

CONFIGURATION

This policy is not configurable except for the standard options.

AUTHOR

Dan Book, dbook@cpan.org

COPYRIGHT AND LICENSE

Copyright 2015, Dan Book.

This library is free software; you may redistribute it and/or modify it under the terms of the Artistic License version 2.0.

SEE ALSO

Perl::Critic, bareword::filehandles