The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
## name Topics in a filetest
## failures 2
## cut

my $x = -s $_;
if ( -f $_ ) { foo(); }

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

## name Topics in a filetest: -t $_ is not useless because -t defaults to STDIN
## failures 0
## cut

if ( -t $_ ) { foo(); }

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

## name Topics in a function call, with parens
## failures 5
## cut

my $x = length($_);
my $y = sin($_);
my $z = defined($_);
my @x = split( /\t/, $_ );
unlink($_);
# Policy cannot handle this yet.
#my $backwards = reverse($_);

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

## name Topics in a function call, no parens
## failures 6
## cut

my $x = length $_;
my $y = sin $_;
my $z = defined $_;
my @x = split /\t/, $_;
unlink $_;
my $backwards = reverse $_;

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

## name Function calls with $_ but in ways that should not be flagged.
## failures 0
## cut

my @y = split( /\t/, $_, 3 );
my @y = split /\t/, $_, 3;
unlink $_ . '.txt';
my $z = sin( $_ * 4 );
my $a = tan $_ + 5;

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

## The following two should NOT be flagged as errors.
## TODO see KNOWN BUGS in the policy documentation
## failures 0
## cut

my @backwards = reverse $_;
my @backwards = reverse($_);

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

## name GH #600
## TODO User reported false positives
## failures 0
## cut

$self->zilla->log($_)
foo(lc, $_)

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