blob: c78b2667e617988981ed3a52074ab60a5f5d735e (
plain)
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
pp_hot.c AOK
Filehandle %s never opened
$f = $a = "abc" ; print $f $a
Filehandle %s opened only for input
print STDIN "abc" ;
print on closed filehandle %s
close STDIN ; print STDIN "abc" ;
uninitialized
my $a = undef ; my @b = @$a
uninitialized
my $a = undef ; my %b = %$a
Odd number of elements in hash list
%X = (1,2,3) ;
Reference found where even-sized list expected
$X = [ 1 ..3 ];
Read on closed filehandle <%s>
close STDIN ; $a = <STDIN>;
Deep recursion on subroutine \"%s\"
sub fred { fred() if $a++ < 200} fred()
Deep recursion on anonymous subroutine
$a = sub { &$a if $a++ < 200} &$a
__END__
# pp_hot.c
use warning 'unopened' ;
$f = $a = "abc" ;
print $f $a
EXPECT
Filehandle main::abc never opened at - line 4.
########
# pp_hot.c
use warning 'io' ;
print STDIN "anc";
EXPECT
Filehandle main::STDIN opened only for input at - line 3.
########
# pp_hot.c
use warning 'closed' ;
close STDIN ;
print STDIN "anc";
EXPECT
print on closed filehandle main::STDIN at - line 4.
########
# pp_hot.c
use warning 'uninitialized' ;
my $a = undef ;
my @b = @$a
EXPECT
Use of uninitialized value at - line 4.
########
# pp_hot.c
use warning 'uninitialized' ;
my $a = undef ;
my %b = %$a
EXPECT
Use of uninitialized value at - line 4.
########
# pp_hot.c
use warning 'unsafe' ;
my %X ; %X = (1,2,3) ;
EXPECT
Odd number of elements in hash assignment at - line 3.
########
# pp_hot.c
use warning 'unsafe' ;
my %X ; %X = [1 .. 3] ;
EXPECT
Reference found where even-sized list expected at - line 3.
########
# pp_hot.c
use warning 'closed' ;
close STDIN ; $a = <STDIN> ;
EXPECT
Read on closed filehandle <STDIN> at - line 3.
########
# pp_hot.c
use warning 'recursion' ;
sub fred
{
fred() if $a++ < 200
}
{
local $SIG{__WARN__} = sub {
die "ok\n" if $_[0] =~ /^Deep recursion on subroutine "main::fred"/
};
fred();
}
EXPECT
ok
########
# pp_hot.c
use warning 'recursion' ;
$b = sub
{
&$b if $a++ < 200
} ;
&$b ;
EXPECT
Deep recursion on anonymous subroutine at - line 5.
|