File: ProhibitVoidGrep.run

package info (click to toggle)
libperl-critic-perl 1.156-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,544 kB
  • sloc: perl: 24,092; lisp: 341; makefile: 7
file content (73 lines) | stat: -rw-r--r-- 1,711 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
## name Basic passing
## failures 0
## cut

print grep("$foo", @list);
print ( grep "$foo", @list );
@list = ( grep "$foo", @list );
$aref = [ grep "$foo", @list ];
$href = { grep "$foo", @list };

if( grep { foo($_) } @list ) {}
for( grep { foo($_) } @list ) {}
sub { grep { foo($_) } @list }

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

## name Basic failure
## failures 8
## cut

grep "$foo", @list;
grep("$foo", @list);
grep { foo($_) } @list;
grep({ foo($_) } @list);

if( $condition ){ grep { foo($_) } @list }
while( $condition ){ grep { foo($_) } @list }
for( @list ){ grep { foo($_) } @list }
sub { grep { foo($_) } @list; return }

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

## name Comma operator
## failures 1
## TODO not handled properly
## cut

$baz, grep "$foo", @list;

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

## name Chained void grep
## failures 1
## cut

grep { spam($_) }
  grep { foo($_) }
    grep { bar($_) }
      grep { baz($_) } @list;

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

## name Subscript grep (RT #79289)
## failures 0
## cut

my %hash;

delete @hash{ grep { m/ foo /smx } keys %hash };
delete @hash{ grep m/ foo /smx, keys %hash };
# The following is the form that was actually failing.
delete @hash{ grep ( m/ foo /smx, keys %hash ) };

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

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