Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen
The three-argument form of open (introduced in Perl 5.6) prevents subtle bugs that occur when the filename starts with funny characters like '>' or '<'. The IO::File module provides a nice object-oriented interface to filehandles, which I think is more elegant anyway.
open
open( $fh, '>output.txt' ); # not ok open( $fh, q{>}, 'output.txt ); # ok use IO::File; my $fh = IO::File->new( 'output.txt', q{>} ); # even better!
The only time you should use the two-argument form is when you re-open STDIN, STDOUT, or STDERR. But for now, this Policy doesn't provide that loophole.
IO::Handle
IO::File
Jeffrey Ryan Thalhammer <thaljef@cpan.org>
Copyright (C) 2005-2006 Jeffrey Ryan Thalhammer. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Perl::Critic, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Perl::Critic
CPAN shell
perl -MCPAN -e shell install Perl::Critic
For more information on module installation, please visit the detailed CPAN module installation guide.