The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
## name basic failures
## failures 33
## cut

open $fh, ">:utf8", $output;
open($fh, ">:utf8", $output);
open($fh, ">:utf8", $output) or die;

open my $fh, ">:utf8", $output;
open(my $fh, ">:utf8", $output);
open(my $fh, ">:utf8", $output) or die;

open FH, ">:utf8", $output;
open(FH, ">:utf8", $output);
open(FH, ">:utf8", $output) or die;

#This are tricky because the Critic can't
#tell where the expression really ends
open FH, ">:utf8", $output or die;
open $fh, ">:utf8", $output or die;
open my $fh, ">:utf8", $output or die;

# Other file modes
open $fh, "<:utf8", $output;
open $fh, ">>:utf8", $output;
open $fh, "+>:utf8", $output;
open $fh, "+<:utf8", $output;
open $fh, "+>>:utf8", $output;

# binmode()

binmode $fh, ":utf8";
binmode($fh, ":utf8");
binmode($fh, ":utf8") or die;

binmode FH, ":utf8";
binmode(FH, ":utf8");
binmode(FH, ":utf8") or die;

#This are tricky because the Critic can't
#tell where the expression really ends
binmode FH, ":utf8" or die;
binmode $fh, ":utf8" or die;

binmode $fh, "utf8";
binmode($fh, "utf8");
binmode($fh, "utf8") or die;

binmode FH, "utf8";
binmode(FH, "utf8");
binmode(FH, "utf8") or die;

#This are tricky because the Critic can't
#tell where the expression really ends
binmode FH, "utf8" or die;
binmode $fh, "utf8" or die;

#-----------------------------------------------------------------------------

## name basic passes
## failures 0
## cut

open $fh, ">$output";
open($fh, ">$output");
open($fh, ">$output") or die;

open my $fh, ">$output";
open(my $fh, ">$output");
open(my $fh, ">$output") or die;

open FH, ">$output";
open(FH, ">$output");
open(FH, ">$output") or die;

#This are tricky because the Critic can't
#tell where the expression really ends
open $fh, ">$output" or die;
open my $fh, ">$output" or die;
open FH, ">$output" or die;

open $fh, '>', $output;
open($fh, '>', $output);
open($fh, '>', $output) or die;

open my $fh, '>', $output;
open(my $fh, '>', $output);
open(my $fh, '>', $output) or die;

open FH, '>', $output;
open(FH, '>', $output);
open(FH, '>', $output) or die;

#This are tricky because the Critic can't
#tell where the expression really ends
open $fh, '>', $output or die;
open my $fh, '>', $output or die;
open FH, '>', $output or die;

open $fh, '>:encoding(utf8)', $output;
open($fh, '>:encoding(utf8)', $output);
open($fh, '>:encoding(utf8)', $output) or die;

open my $fh, '>:encoding(utf8)', $output;
open(my $fh, '>:encoding(utf8)', $output);
open(my $fh, '>:encoding(utf8)', $output) or die;

open FH, '>:encoding(utf8)', $output;
open(FH, '>:encoding(utf8)', $output);
open(FH, '>:encoding(utf8)', $output) or die;

#This are tricky because the Critic can't
#tell where the expression really ends
open $fh, '>:encoding(utf8)', $output or die;
open my $fh, '>:encoding(utf8)', $output or die;
open FH, '>:encoding(utf8)', $output or die;

# binmode

binmode $fh;
binmode($fh);
binmode($fh) or die;

binmode FH;
binmode(FH);
binmode(FH) or die;

#This are tricky because the Critic can't
#tell where the expression really ends
binmode $fh or die;
binmode FH or die;

binmode $fh, ':encoding(utf8)';
binmode($fh, ':encoding(utf8)');
binmode($fh, ':encoding(utf8)') or die;

binmode FH, ':encoding(utf8)';
binmode(FH, ':encoding(utf8)');
binmode(FH, ':encoding(utf8)') or die;

#This are tricky because the Critic can't
#tell where the expression really ends
binmode $fh, ':encoding(utf8)' or die;
binmode FH, ':encoding(utf8)' or die;

$foo{open}; # not a function call

#-----------------------------------------------------------------------------

##############################################################################
#      $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/distributions/Perl-Critic/t/InputOutput/ProhibitTwoArgOpen.run $
#     $Date: 2009-08-08 19:35:01 -0400 (Sat, 08 Aug 2009) $
#   $Author: clonezone $
# $Revision: 3504 $
##############################################################################

# Local Variables:
#   mode: cperl
#   cperl-indent-level: 4
#   fill-column: 78
#   indent-tabs-mode: nil
#   c-indentation-style: bsd
# End:
# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :