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

#print $fh;           #Punt on this
#print $fh if 1;
print $fh "something" . "something else";
print $fh generate_report();
print $fh "something" if $DEBUG;
print $fh @list;
print $fh $foo, $bar;
print( $fh @list );
print( $fh $foo, $bar );

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

## name basic failures (printf)
## failures 7
## cut

#printf $fh;           #Punt on this
#printf $fh if 1;
printf $fh "something" . "something else";
printf $fh generate_report();
printf $fh "something" if $DEBUG;
printf $fh @list;
printf $fh $foo, $bar;
printf( $fh @list );
printf( $fh $foo, $bar );

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

## name more arcane passes (print)
## failures 0
## cut
print "something" . "something else";
print "something" . "something else"
  or die;
print {FH} "something" . "something else";
print {FH} "something" . "something else"
  or die;

print generate_report();
print generate_report()
  or die;
print {FH} generate_report();
print {FH} generate_report()
  or die;

print rand 10;
print rand 10
  or die;

print {FH};
print {FH}
  or die;
print {FH} @list;
print {FH} @list
  or die;
print {FH} $foo, $bar;
print {FH} $foo, $bar
  or die;

print @list;
print @list
  or die;
print $foo, $bar;
print $foo, $bar
  or die;
print $foo , $bar;
print $foo , $bar
  or die;
print foo => 1;
print foo => 1
  or die;

print( {FH} @list );
print( {FH} @list )
  or die;
print( {FH} $foo, $bar );
print( {FH} $foo, $bar )
  or die;

print();
print()
  or die;
print( );
print( )
  or die;
print( @list );
print( @list )
  or die;
print( $foo, $bar );
print( $foo, $bar )
  or die;

print if 1;
print or die if 1;

print 1 2; # syntax error, but not a policy violation
$foo{print}; # not a function call
{print}; # no siblings

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

## name more arcane passes (printf)
## failures 0
## cut
printf "something" . "something else";
printf "something" . "something else"
  or die;
printf {FH} "something" . "something else";
printf {FH} "something" . "something else"
  or die;

printf generate_report();
printf generate_report()
  or die;
printf {FH} generate_report();
printf {FH} generate_report()
  or die;

printf rand 10;
printf rand 10
  or die;

printf {FH};
printf {FH}
  or die;
printf {FH} @list;
printf {FH} @list
  or die;
printf {FH} $foo, $bar;
printf {FH} $foo, $bar
  or die;

printf @list;
printf @list
  or die;
printf $foo, $bar;
printf $foo, $bar
  or die;
printf $foo , $bar;
printf $foo , $bar
  or die;
printf foo => 1;
printf foo => 1
  or die;

printf( {FH} @list );
printf( {FH} @list )
  or die;
printf( {FH} $foo, $bar );
printf( {FH} $foo, $bar )
  or die;

printf();
printf()
  or die;
printf( );
printf( )
  or die;
printf( @list );
printf( @list )
  or die;
printf( $foo, $bar );
printf( $foo, $bar )
  or die;

printf if 1;
printf or die if 1;

printf 1 2; # syntax error, but not a policy violation
$foo{printf}; # not a function call
{printf}; # no siblings

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

## name more bracing arcana (print)
## failures 0
## cut

print {$fh};
print {$fh} @list;
print {$fh} $foo, $bar;
print( {$fh} @list );
print( {$fh} $foo, $bar );

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

## name more bracing arcana (printf)
## failures 0
## cut

printf {$fh};
printf {$fh} @list;
printf {$fh} $foo, $bar;
printf( {$fh} @list );
printf( {$fh} $foo, $bar );

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

## name RT #49500: say violations
## failures 6
## cut

say FH "foo";
# say $fh;              #Punt on this
say $fh "foo";
say $fh @list;
say $fh print_report();
say $fh "foo" or die;
say( $fh "foo" );

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

## name RT #49500: say compliances
## failures 0
## cut

say { FH } "foo";
say { $fh };
say { $fh } "foo";
say { $fh } @list;
say { $fh } print_report();
say { $fh } "foo" or die;
say( { $fh } "foo" );

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

##############################################################################
#      $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/distributions/Perl-Critic/t/InputOutput/RequireBracedFileHandleWithPrint.run $
#     $Date: 2009-10-02 14:45:26 -0700 (Fri, 02 Oct 2009) $
#   $Author: clonezone $
# $Revision: 3671 $
##############################################################################

# 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 :