This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove the extraneous "main::" prefix from all the
[perl5.git] / t / pragma / warn / pp_hot
CommitLineData
767a6a26 1 pp_hot.c
599cee73 2
767a6a26 3 Filehandle %s never opened [pp_print]
599cee73
PM
4 $f = $a = "abc" ; print $f $a
5
767a6a26 6 Filehandle %s opened only for input [pp_print]
599cee73
PM
7 print STDIN "abc" ;
8
767a6a26 9 Filehandle %s opened only for output [pp_print]
af8c498a 10 print <STDOUT> ;
599cee73 11
9a7dcd9c 12 print() on closed filehandle %s [pp_print]
599cee73
PM
13 close STDIN ; print STDIN "abc" ;
14
767a6a26 15 uninitialized [pp_rv2av]
599cee73
PM
16 my $a = undef ; my @b = @$a
17
767a6a26 18 uninitialized [pp_rv2hv]
599cee73
PM
19 my $a = undef ; my %b = %$a
20
767a6a26 21 Odd number of elements in hash list [pp_aassign]
599cee73
PM
22 %X = (1,2,3) ;
23
767a6a26 24 Reference found where even-sized list expected [pp_aassign]
599cee73
PM
25 $X = [ 1 ..3 ];
26
767a6a26
PM
27 Filehandle %s opened only for output [Perl_do_readline]
28 open (FH, ">./xcv") ;
29 my $a = <FH> ;
30
31 glob failed (can't start child: %s) [Perl_do_readline] <<TODO
32
9a7dcd9c 33 readline() on closed filehandle %s [Perl_do_readline]
599cee73
PM
34 close STDIN ; $a = <STDIN>;
35
767a6a26
PM
36 glob failed (child exited with status %d%s) [Perl_do_readline] <<TODO
37
38 Deep recursion on subroutine \"%s\" [Perl_sub_crush_depth]
6bc102ca 39 sub fred { fred() if $a++ < 200} fred()
599cee73 40
767a6a26 41 Deep recursion on anonymous subroutine [Perl_sub_crush_depth]
6bc102ca 42 $a = sub { &$a if $a++ < 200} &$a
599cee73 43
6bc102ca
GS
44 Possible Y2K bug: about to append an integer to '19' [pp_concat]
45 $x = "19$yy\n";
767a6a26 46
599cee73 47__END__
767a6a26 48# pp_hot.c [pp_print]
4438c4b7 49use warnings 'unopened' ;
599cee73 50$f = $a = "abc" ;
0453d815 51print $f $a;
4438c4b7 52no warnings 'unopened' ;
0453d815 53print $f $a;
599cee73 54EXPECT
43693395 55Filehandle abc never opened at - line 4.
599cee73 56########
767a6a26 57# pp_hot.c [pp_print]
4438c4b7 58use warnings 'io' ;
599cee73 59print STDIN "anc";
af8c498a
GS
60print <STDOUT>;
61print <STDERR>;
62open(FOO, ">&STDOUT") and print <FOO>;
63print getc(STDERR);
64print getc(FOO);
ea1135d6
JH
65####################################################################
66# The next test is known to fail on some systems (Linux+old glibc, #
67# old *BSDs, and NeXT, among others. #
68# We skip it for now (on the grounds that it is "just" a warning). #
69####################################################################
37bd1396
GS
70#read(FOO,$_,1);
71no warnings 'io' ;
72print STDIN "anc";
599cee73 73EXPECT
43693395
GS
74Filehandle STDIN opened only for input at - line 3.
75Filehandle STDOUT opened only for output at - line 4.
76Filehandle STDERR opened only for output at - line 5.
77Filehandle FOO opened only for output at - line 6.
78Filehandle STDERR opened only for output at - line 7.
79Filehandle FOO opened only for output at - line 8.
599cee73 80########
767a6a26 81# pp_hot.c [pp_print]
4438c4b7 82use warnings 'closed' ;
599cee73
PM
83close STDIN ;
84print STDIN "anc";
69282e91
GS
85opendir STDIN, ".";
86print STDIN "anc";
87closedir STDIN;
4438c4b7 88no warnings 'closed' ;
0453d815 89print STDIN "anc";
69282e91
GS
90opendir STDIN, ".";
91print STDIN "anc";
599cee73 92EXPECT
43693395
GS
93print() on closed filehandle STDIN at - line 4.
94print() on closed filehandle STDIN at - line 6.
95 (Are you trying to call print() on dirhandle STDIN?)
599cee73 96########
767a6a26 97# pp_hot.c [pp_rv2av]
4438c4b7 98use warnings 'uninitialized' ;
599cee73 99my $a = undef ;
0453d815 100my @b = @$a;
4438c4b7 101no warnings 'uninitialized' ;
0453d815 102my @c = @$a;
599cee73 103EXPECT
b89fed5f 104Use of uninitialized value in array dereference at - line 4.
599cee73 105########
767a6a26 106# pp_hot.c [pp_rv2hv]
4438c4b7 107use warnings 'uninitialized' ;
599cee73 108my $a = undef ;
0453d815 109my %b = %$a;
4438c4b7 110no warnings 'uninitialized' ;
0453d815 111my %c = %$a;
599cee73 112EXPECT
b89fed5f 113Use of uninitialized value in hash dereference at - line 4.
599cee73 114########
767a6a26 115# pp_hot.c [pp_aassign]
e476b1b5 116use warnings 'misc' ;
599cee73 117my %X ; %X = (1,2,3) ;
e476b1b5 118no warnings 'misc' ;
0453d815 119my %Y ; %Y = (1,2,3) ;
599cee73
PM
120EXPECT
121Odd number of elements in hash assignment at - line 3.
122########
767a6a26 123# pp_hot.c [pp_aassign]
e476b1b5 124use warnings 'misc' ;
599cee73 125my %X ; %X = [1 .. 3] ;
e476b1b5 126no warnings 'misc' ;
0453d815 127my %Y ; %Y = [1 .. 3] ;
599cee73
PM
128EXPECT
129Reference found where even-sized list expected at - line 3.
130########
767a6a26 131# pp_hot.c [Perl_do_readline]
4438c4b7 132use warnings 'closed' ;
69282e91
GS
133close STDIN ; $a = <STDIN> ;
134opendir STDIN, "." ; $a = <STDIN> ;
135closedir STDIN;
4438c4b7 136no warnings 'closed' ;
69282e91 137opendir STDIN, "." ; $a = <STDIN> ;
0453d815 138$a = <STDIN> ;
599cee73 139EXPECT
43693395
GS
140readline() on closed filehandle STDIN at - line 3.
141readline() on closed filehandle STDIN at - line 4.
142 (Are you trying to call readline() on dirhandle STDIN?)
599cee73 143########
767a6a26
PM
144# pp_hot.c [Perl_do_readline]
145use warnings 'io' ;
146my $file = "./xcv" ; unlink $file ;
147open (FH, ">./xcv") ;
148my $a = <FH> ;
149no warnings 'io' ;
150$a = <FH> ;
151unlink $file ;
152EXPECT
43693395 153Filehandle FH opened only for output at - line 5.
767a6a26
PM
154########
155# pp_hot.c [Perl_sub_crush_depth]
4438c4b7 156use warnings 'recursion' ;
599cee73
PM
157sub fred
158{
159 fred() if $a++ < 200
160}
4a925ff6
GS
161{
162 local $SIG{__WARN__} = sub {
163 die "ok\n" if $_[0] =~ /^Deep recursion on subroutine "main::fred"/
164 };
165 fred();
166}
599cee73 167EXPECT
4a925ff6 168ok
599cee73 169########
767a6a26 170# pp_hot.c [Perl_sub_crush_depth]
4438c4b7 171no warnings 'recursion' ;
0453d815
PM
172sub fred
173{
174 fred() if $a++ < 200
175}
176{
177 local $SIG{__WARN__} = sub {
178 die "ok\n" if $_[0] =~ /^Deep recursion on subroutine "main::fred"/
179 };
180 fred();
181}
182EXPECT
183
184########
767a6a26 185# pp_hot.c [Perl_sub_crush_depth]
4438c4b7 186use warnings 'recursion' ;
599cee73
PM
187$b = sub
188{
189 &$b if $a++ < 200
190} ;
191
192&$b ;
193EXPECT
194Deep recursion on anonymous subroutine at - line 5.
0453d815 195########
767a6a26 196# pp_hot.c [Perl_sub_crush_depth]
4438c4b7 197no warnings 'recursion' ;
0453d815
PM
198$b = sub
199{
200 &$b if $a++ < 200
201} ;
202
203&$b ;
204EXPECT
6bc102ca
GS
205########
206# pp_hot.c [pp_concat]
e476b1b5 207use warnings 'y2k';
6bc102ca
GS
208use Config;
209BEGIN {
210 unless ($Config{ccflags} =~ /Y2KWARN/) {
211 print "SKIPPED\n# perl not built with -DPERL_Y2KWARN";
212 exit 0;
213 }
214}
215my $x;
216my $yy = 78;
217$x = "19$yy\n";
218$x = "19" . $yy . "\n";
219$x = "319$yy\n";
220$x = "319" . $yy . "\n";
e476b1b5 221no warnings 'y2k';
6bc102ca
GS
222$x = "19$yy\n";
223$x = "19" . $yy . "\n";
224EXPECT
225Possible Y2K bug: about to append an integer to '19' at - line 12.
226Possible Y2K bug: about to append an integer to '19' at - line 13.