3 Test the appearance of variable names in "Use of uninitialized value"
6 The following ops aren't tested, mainly because they do IO or non-portable
9 send recv bind conect listen accept shutdown chdir chown chroot unlink
10 chmod utime rename link symlink readlink mkdir rmdir opendir seekdir
11 system exec kill getpgrp alarm sleep dofile require gethostbyname
12 gethostbyaddr getnetbyname getnetbyaddr getprotobyname getprotobynumber
13 getservbyname getservbyport sethostent setnetent setprotoent setservent
14 getpwnam getpwuid getgrnam getgrgid waitpid setpgrp setpriority
15 getpriority syscall dbmopen ioctl fcntl truncate getsockopt setsockopt
16 semctl semop semget msgget msgctl msgsnd msgrcv shmget shmctl shmread
19 ---------------------------------------------------
23 use warnings 'uninitialized';
30 Use of uninitialized value $m1 in addition (+) at - line 4.
31 Use of uninitialized value $m2 in addition (+) at - line 5.
32 Use of uninitialized value $m2 in addition (+) at - line 6.
33 Use of uninitialized value $m1 in addition (+) at - line 6.
35 use warnings 'uninitialized';
37 use open qw( :utf8 :std );
43 Use of uninitialized value $à1 in addition (+) at - line 5.
44 Use of uninitialized value $a2 in addition (+) at - line 6.
45 Use of uninitialized value $a2 in addition (+) at - line 7.
46 Use of uninitialized value $à1 in addition (+) at - line 7.
48 use warnings 'uninitialized';
57 Use of uninitialized value $g1 in addition (+) at - line 5.
58 Use of uninitialized value $g2 in addition (+) at - line 6.
59 Use of uninitialized value $g2 in addition (+) at - line 7.
60 Use of uninitialized value $g1 in addition (+) at - line 7.
61 Use of uninitialized value $g2 in addition (+) at - line 8.
62 Use of uninitialized value $m1 in addition (+) at - line 8.
64 use warnings 'uninitialized';
71 $v = $ma[-1] + $ma[-2];
73 Use of uninitialized value $ma[5] in addition (+) at - line 4.
74 Use of uninitialized value $ma[6] in addition (+) at - line 5.
75 Use of uninitialized value $m1 in addition (+) at - line 6.
76 Use of uninitialized value in addition (+) at - line 6.
77 Use of uninitialized value in addition (+) at - line 7.
78 Use of uninitialized value in addition (+) at - line 7.
79 Use of uninitialized value in addition (+) at - line 8.
80 Use of uninitialized value in addition (+) at - line 8.
82 use warnings 'uninitialized';
84 my @mau = (undef) x 258;
85 my %mhu = ('foo', undef, 'bar', undef);
91 $v = $mau[7] + $mau[8];
92 $v = $mau[256] + $mau[257];
93 $v = $mau[-1] + $mau[-2];
94 $v = $mhu{foo} + $mhu{bar};
96 Use of uninitialized value $mau[5] in addition (+) at - line 6.
97 Use of uninitialized value $mau[-5] in addition (+) at - line 7.
98 Use of uninitialized value $mau[6] in addition (+) at - line 8.
99 Use of uninitialized value $mau[-6] in addition (+) at - line 9.
100 Use of uninitialized value $mau[8] in addition (+) at - line 10.
101 Use of uninitialized value $mau[7] in addition (+) at - line 10.
102 Use of uninitialized value $mau[257] in addition (+) at - line 11.
103 Use of uninitialized value $mau[256] in addition (+) at - line 11.
104 Use of uninitialized value $mau[-2] in addition (+) at - line 12.
105 Use of uninitialized value $mau[-1] in addition (+) at - line 12.
106 Use of uninitialized value $mhu{"bar"} in addition (+) at - line 13.
107 Use of uninitialized value $mhu{"foo"} in addition (+) at - line 13.
109 use warnings 'uninitialized';
117 $v = $ga[10] + $ga[11];
118 $v = $ga[-10] + $ga[-11];
120 Use of uninitialized value $ga[8] in addition (+) at - line 5.
121 Use of uninitialized value $ga[-8] in addition (+) at - line 6.
122 Use of uninitialized value $ga[9] in addition (+) at - line 7.
123 Use of uninitialized value $ga[-9] in addition (+) at - line 8.
124 Use of uninitialized value in addition (+) at - line 9.
125 Use of uninitialized value in addition (+) at - line 9.
126 Use of uninitialized value in addition (+) at - line 10.
127 Use of uninitialized value in addition (+) at - line 10.
129 use warnings 'uninitialized';
131 our @gau = (undef) x 258;
132 our %ghu = ('foo', undef, 'bar', undef);
138 $v = $gau[10] + $gau[11];
139 $v = $gau[256] + $gau[257];
140 $v = $gau[-1] + $gau[-2];
141 $v = $ghu{foo} + $ghu{bar};
143 Use of uninitialized value $gau[8] in addition (+) at - line 6.
144 Use of uninitialized value $gau[-8] in addition (+) at - line 7.
145 Use of uninitialized value $gau[9] in addition (+) at - line 8.
146 Use of uninitialized value $gau[-9] in addition (+) at - line 9.
147 Use of uninitialized value $gau[11] in addition (+) at - line 10.
148 Use of uninitialized value $gau[10] in addition (+) at - line 10.
149 Use of uninitialized value $gau[257] in addition (+) at - line 11.
150 Use of uninitialized value $gau[256] in addition (+) at - line 11.
151 Use of uninitialized value $gau[-2] in addition (+) at - line 12.
152 Use of uninitialized value $gau[-1] in addition (+) at - line 12.
153 Use of uninitialized value $ghu{"bar"} in addition (+) at - line 13.
154 Use of uninitialized value $ghu{"foo"} in addition (+) at - line 13.
156 use warnings 'uninitialized';
158 our @gau = (undef) x 258;
159 our %ghu = ('foo', undef, 'bar', undef);
160 my @mau = (undef) x 258;
161 my %mhu = ('foo', undef, 'bar', undef);
169 $v = $mau[$i1] + $mau[$i2];
170 $v = $gau[$i1] + $gau[$i2];
171 $v = $gau[$i1] + $gau[$i3];
172 $v = $mhu{$k1} + $mhu{$k2};
173 $v = $ghu{$k1} + $ghu{$k2};
174 $v = $ghu{$k1} + $ghu{$k3};
176 Use of uninitialized value $mau[20] in addition (+) at - line 14.
177 Use of uninitialized value $mau[10] in addition (+) at - line 14.
178 Use of uninitialized value $gau[20] in addition (+) at - line 15.
179 Use of uninitialized value $gau[10] in addition (+) at - line 15.
180 Use of uninitialized value in addition (+) at - line 16.
181 Use of uninitialized value $gau[10] in addition (+) at - line 16.
182 Use of uninitialized value $mhu{"bar"} in addition (+) at - line 17.
183 Use of uninitialized value $mhu{"foo"} in addition (+) at - line 17.
184 Use of uninitialized value $ghu{"bar"} in addition (+) at - line 18.
185 Use of uninitialized value $ghu{"foo"} in addition (+) at - line 18.
186 Use of uninitialized value in addition (+) at - line 19.
187 Use of uninitialized value $ghu{"foo"} in addition (+) at - line 19.
189 use warnings 'uninitialized';
190 my ($m1, $m2, @ma, %mh, $v);
191 our ($g1, $g2, @ga, %gh);
207 Use of uninitialized value $m1 in array element at - line 5.
208 Use of uninitialized value $g1 in array element at - line 6.
209 Use of uninitialized value $m2 in array element at - line 7.
210 Use of uninitialized value $g2 in array element at - line 8.
211 Use of uninitialized value $m1 in hash element at - line 10.
212 Use of uninitialized value $g1 in hash element at - line 11.
213 Use of uninitialized value $m2 in hash element at - line 12.
214 Use of uninitialized value $g2 in hash element at - line 13.
215 Use of uninitialized value $g1 in subtraction (-) at - line 15.
216 Use of uninitialized value $m2 in subtraction (-) at - line 15.
217 Use of uninitialized value $m1 in addition (+) at - line 15.
218 Use of uninitialized value $ga[3] in array element at - line 16.
219 Use of uninitialized value $ma[4] in array element at - line 17.
221 use warnings 'uninitialized';
235 Use of uninitialized value $ga[1000] in sin at - line 5.
236 Use of uninitialized value $ma[1000] in sin at - line 6.
237 Use of uninitialized value $gh{"foo"} in sin at - line 7.
238 Use of uninitialized value $mh{"bar"} in sin at - line 8.
239 Use of uninitialized value within @ga in sin at - line 10.
240 Use of uninitialized value within @ma in sin at - line 11.
241 Use of uninitialized value within %gh in sin at - line 12.
242 Use of uninitialized value within %mh in sin at - line 13.
244 use warnings 'uninitialized';
246 sub X::TIEARRAY { bless [], 'X' }
247 sub X::TIEHASH { bless [], 'X' }
248 sub X::FETCH { undef }
257 $v = $mat[0] + $mat[1];
259 $v = $mat[1000] + $mat[1001];
261 $v = sin $mat[$index1];
262 $v = $mat[$index1] + $mat[$index2];
265 $v = $mht{foo} + $mht{bar};
267 $v = sin $mht{$key1};
268 $v = $mht{$key1} + $mht{$key2};
272 Use of uninitialized value $mat[0] in sin at - line 13.
273 Use of uninitialized value in addition (+) at - line 14.
274 Use of uninitialized value in addition (+) at - line 14.
275 Use of uninitialized value $mat[1000] in sin at - line 15.
276 Use of uninitialized value in addition (+) at - line 16.
277 Use of uninitialized value in addition (+) at - line 16.
278 Use of uninitialized value within @mat in sin at - line 18.
279 Use of uninitialized value in addition (+) at - line 19.
280 Use of uninitialized value in addition (+) at - line 19.
281 Use of uninitialized value $mht{"foo"} in sin at - line 21.
282 Use of uninitialized value in addition (+) at - line 22.
283 Use of uninitialized value in addition (+) at - line 22.
284 Use of uninitialized value within %mht in sin at - line 24.
285 Use of uninitialized value in addition (+) at - line 25.
286 Use of uninitialized value in addition (+) at - line 25.
287 Use of uninitialized value $1 in addition (+) at - line 27.
289 use warnings 'uninitialized';
294 print STDERR $ga[1000];
295 print STDERR $m1, $g1, $ga[1],$m2;
296 print STDERR "", $ga[1],"";
298 Use of uninitialized value in print at - line 5.
299 Use of uninitialized value in print at - line 6.
300 Use of uninitialized value $m1 in print at - line 7.
301 Use of uninitialized value $g1 in print at - line 7.
302 Use of uninitialized value in print at - line 7.
303 Use of uninitialized value $m2 in print at - line 7.
304 Use of uninitialized value in print at - line 8.
306 use warnings 'uninitialized';
310 close $m1; # exercises rv2gv
311 close $g1; # exercises rv2gv
312 close undef; # exercises rv2gv
314 Use of uninitialized value $m1 in ref-to-glob cast at - line 5.
315 Use of uninitialized value $g1 in ref-to-glob cast at - line 6.
316 Use of uninitialized value in ref-to-glob cast at - line 7.
318 use warnings 'uninitialized';
334 Use of uninitialized value $m1 in scalar dereference at - line 5.
335 Use of uninitialized value $g1 in scalar dereference at - line 6.
336 Use of uninitialized value $m1 in array dereference at - line 8.
337 Use of uninitialized value $g1 in array dereference at - line 9.
338 Use of uninitialized value $m2 in hash dereference at - line 10.
339 Use of uninitialized value $g2 in hash dereference at - line 11.
340 Use of uninitialized value in addition (+) at - line 13.
341 Use of uninitialized value $m1 in concatenation (.) or string at - line 14.
342 Use of uninitialized value in addition (+) at - line 14.
343 Use of uninitialized value $g1 in concatenation (.) or string at - line 15.
344 Use of uninitialized value in addition (+) at - line 15.
346 use warnings 'uninitialized';
360 Use of uninitialized value $m1 in bitwise or (|) at - line 5.
361 Use of uninitialized value $m2 in bitwise or (|) at - line 5.
362 Use of uninitialized value $m1 in bitwise and (&) at - line 6.
363 Use of uninitialized value $m2 in bitwise and (&) at - line 6.
364 Use of uninitialized value $m1 in bitwise xor (^) at - line 7.
365 Use of uninitialized value $m2 in bitwise xor (^) at - line 7.
366 Use of uninitialized value $m1 in 1's complement (~) at - line 8.
367 Use of uninitialized value $g1 in bitwise or (|) at - line 10.
368 Use of uninitialized value $g2 in bitwise or (|) at - line 10.
369 Use of uninitialized value $g1 in bitwise and (&) at - line 11.
370 Use of uninitialized value $g2 in bitwise and (&) at - line 11.
371 Use of uninitialized value $g1 in bitwise xor (^) at - line 12.
372 Use of uninitialized value $g2 in bitwise xor (^) at - line 12.
373 Use of uninitialized value $g1 in 1's complement (~) at - line 13.
375 use warnings 'uninitialized';
378 my $tmp1; $v = $tmp1++; # (doesn't warn)
379 our $tmp2; $v = $tmp2++; # (doesn't warn)
380 my $tmp3; $v = ++$tmp1; # (doesn't warn)
381 our $tmp4; $v = ++$tmp2; # (doesn't warn)
383 my $tmp5; $v = $tmp5--; # (doesn't warn)
384 our $tmp6; $v = $tmp6--; # (doesn't warn)
385 my $tmp7; $v = --$tmp7; # (doesn't warn)
386 our $tmp8; $v = --$tmp8; # (doesn't warn)
389 use warnings 'uninitialized';
393 my ($s3,$s4); chomp ($s3,$s4);
394 my ($s5,$s6); chop ($s5,$s6);
396 Use of uninitialized value $s1 in scalar chomp at - line 3.
397 Use of uninitialized value $s2 in scalar chop at - line 4.
398 Use of uninitialized value $s3 in chomp at - line 5.
399 Use of uninitialized value $s4 in chomp at - line 5.
400 Use of uninitialized value $s5 in chop at - line 6.
401 Use of uninitialized value $s6 in chop at - line 6.
403 use warnings 'uninitialized';
410 chomp ($x, $y); chop ($x, $y);
412 Use of uninitialized value ${$/} in scalar chomp at - line 6.
413 Use of uninitialized value ${$/} in chomp at - line 8.
414 Use of uninitialized value ${$/} in chomp at - line 8.
415 Use of uninitialized value $y in chomp at - line 8.
416 Use of uninitialized value $y in chop at - line 8.
418 use warnings 'uninitialized';
423 delete @ma[$m1, $g1];
425 delete @mh{$m1, $g1};
427 Use of uninitialized value $m1 in delete at - line 5.
428 Use of uninitialized value $m1 in delete at - line 6.
429 Use of uninitialized value $g1 in delete at - line 6.
430 Use of uninitialized value $m1 in delete at - line 7.
431 Use of uninitialized value $m1 in delete at - line 8.
432 Use of uninitialized value $g1 in delete at - line 8.
434 use warnings 'uninitialized';
438 my @a = @ma[$m1, $g1];
439 @a = (4,5)[$m1, $g1];
442 Use of uninitialized value $m1 in array slice at - line 5.
443 Use of uninitialized value $g1 in array slice at - line 5.
444 Use of uninitialized value $m1 in list slice at - line 6.
445 Use of uninitialized value $g1 in list slice at - line 6.
446 Use of uninitialized value $m1 in hash slice at - line 7.
447 Use of uninitialized value $g1 in hash slice at - line 7.
449 use warnings 'uninitialized';
450 my ($m1, @ma, %mh, $v);
453 $v = exists $ma[$m1];
454 $v = exists $ga[$g1];
455 $v = exists $mh{$m1};
456 $v = exists $gh{$g1};
458 Use of uninitialized value $m1 in exists at - line 5.
459 Use of uninitialized value $g1 in exists at - line 6.
460 Use of uninitialized value $m1 in exists at - line 7.
461 Use of uninitialized value $g1 in exists at - line 8.
463 use warnings 'uninitialized';
466 my ($t, $u) = (1, 1);
494 Use of uninitialized value $m1 in range (or flop) at - line 10.
495 Use of uninitialized value $m2 in range (or flop) at - line 12.
496 Use of uninitialized value $m1 in range (or flop) at - line 16.
497 Use of uninitialized value $m2 in range (or flop) at - line 18.
498 Use of uninitialized value $. in range (or flip) at - line 20.
499 Use of uninitialized value $. in range (or flop) at - line 21.
500 Use of uninitialized value $. in range (or flip) at - line 23.
501 Use of uninitialized value $. in range (or flip) at - line 24.
502 Use of uninitialized value $. in range (or flip) at - line 26.
503 Use of uninitialized value $. in range (or flip) at - line 29.
504 Use of uninitialized value $. in range (or flip) at - line 30.
506 use warnings 'uninitialized';
509 my ($t, $u) = (1, 1);
531 Use of uninitialized value $m1 in range (or flop) at - line 7.
532 Use of uninitialized value $m2 in range (or flop) at - line 8.
533 Use of uninitialized value $m1 in range (or flop) at - line 9.
534 Use of uninitialized value $m2 in range (or flop) at - line 9.
535 Use of uninitialized value $m1 in range (or flop) at - line 12.
536 Use of uninitialized value $m2 in range (or flop) at - line 13.
537 Use of uninitialized value $m1 in range (or flop) at - line 14.
538 Use of uninitialized value $m2 in range (or flop) at - line 14.
540 use warnings 'uninitialized';
548 Use of uninitialized value $m1 in left bitshift (<<) at - line 6.
549 Use of uninitialized value $x1 in left bitshift (<<) at - line 6.
550 Use of uninitialized value $g1 in left bitshift (<<) at - line 7.
551 Use of uninitialized value $x2 in left bitshift (<<) at - line 7.
553 use warnings 'uninitialized';
561 eval {$v = $m1 / $g1};
563 eval {$v = $m1 % $g1};
574 Use of uninitialized value $g1 in integer addition (+) at - line 6.
575 Use of uninitialized value $m1 in integer addition (+) at - line 6.
576 Use of uninitialized value $g1 in integer subtraction (-) at - line 7.
577 Use of uninitialized value $m1 in integer subtraction (-) at - line 7.
578 Use of uninitialized value $g1 in integer multiplication (*) at - line 8.
579 Use of uninitialized value $m1 in integer multiplication (*) at - line 8.
580 Use of uninitialized value $g1 in integer division (/) at - line 9.
581 Use of uninitialized value $m2 in integer division (/) at - line 10.
582 Use of uninitialized value $g1 in integer modulus (%) at - line 11.
583 Use of uninitialized value $m1 in integer modulus (%) at - line 11.
584 Use of uninitialized value $m2 in integer modulus (%) at - line 12.
585 Use of uninitialized value $g1 in integer lt (<) at - line 13.
586 Use of uninitialized value $m1 in integer lt (<) at - line 13.
587 Use of uninitialized value $g1 in integer gt (>) at - line 14.
588 Use of uninitialized value $m1 in integer gt (>) at - line 14.
589 Use of uninitialized value $g1 in integer le (<=) at - line 15.
590 Use of uninitialized value $m1 in integer le (<=) at - line 15.
591 Use of uninitialized value $g1 in integer ge (>=) at - line 16.
592 Use of uninitialized value $m1 in integer ge (>=) at - line 16.
593 Use of uninitialized value $g1 in integer eq (==) at - line 17.
594 Use of uninitialized value $m1 in integer eq (==) at - line 17.
595 Use of uninitialized value $g1 in integer ne (!=) at - line 18.
596 Use of uninitialized value $m1 in integer ne (!=) at - line 18.
597 Use of uninitialized value $g1 in integer comparison (<=>) at - line 19.
598 Use of uninitialized value $m1 in integer comparison (<=>) at - line 19.
599 Use of uninitialized value $m1 in integer negation (-) at - line 20.
601 use warnings 'uninitialized';
608 Use of uninitialized value $g1 in int at - line 5.
609 Use of uninitialized value $g2 in abs at - line 6.
611 use warnings 'uninitialized';
616 $v = pack "i*", $m2, $g1, $g2;
617 my @unpack = unpack $m1, $m2;
619 Use of uninitialized value $m1 in pack at - line 5.
620 Use of uninitialized value $m2 in pack at - line 6.
621 Use of uninitialized value $g1 in pack at - line 6.
622 Use of uninitialized value $g2 in pack at - line 6.
623 Use of uninitialized value $m1 in unpack at - line 7.
624 Use of uninitialized value $m2 in unpack at - line 7.
626 use warnings 'uninitialized';
631 @sort = sort $m1, $g1;
632 @sort = sort {$a <=> $b} $m1, $g1;
633 sub sortf {$a-1 <=> $b-1};
634 @sort = sort &sortf, $m1, $g1;
635 @sort = sort { undef } 1, 2;
636 sub frobnicate($$) { undef }
637 @sort = sort frobnicate 1, 2;
638 @sort = sort pyfg 1, 2;
639 @sort = sort pyfgc 1, 2;
642 sub pyfgc($$) { undef }
646 @sort = sort dog 1,2;
647 @sort = sort dogwood 1,2;
649 Use of uninitialized value $m1 in sort at - line 6.
650 Use of uninitialized value $g1 in sort at - line 6.
651 Use of uninitialized value $m1 in sort at - line 6.
652 Use of uninitialized value $g1 in sort at - line 6.
653 Use of uninitialized value $m1 in sort at - line 7.
654 Use of uninitialized value $g1 in sort at - line 7.
655 Use of uninitialized value $m1 in sort at - line 7.
656 Use of uninitialized value $g1 in sort at - line 7.
657 Use of uninitialized value $a in subtraction (-) at - line 8.
658 Use of uninitialized value $b in subtraction (-) at - line 8.
659 Use of uninitialized value $m1 in sort at - line 9.
660 Use of uninitialized value $g1 in sort at - line 9.
661 Use of uninitialized value $m1 in sort at - line 9.
662 Use of uninitialized value $m1 in sort at - line 9.
663 Use of uninitialized value $g1 in sort at - line 9.
664 Use of uninitialized value $g1 in sort at - line 9.
665 Use of uninitialized value in sort at - line 10.
666 Use of uninitialized value in sort at - line 12.
667 Use of uninitialized value in sort at - line 13.
668 Use of uninitialized value in sort at - line 14.
669 Use of uninitialized value in sort at - line 21.
670 Use of uninitialized value in sort at - line 22.
672 my $nan = sin 9**9**9;
680 use warnings 'uninitialized';
681 # The optimised {$a<=>$b} case should behave the same way as unoptimised.
682 @sort = sort { ($a)[0] <=> $b } 1, $nan;
683 @sort = sort { $a <=> $b } 1, $nan;
685 Use of uninitialized value in sort at - line 11.
686 Use of uninitialized value in sort at - line 12.
688 use warnings 'uninitialized';
692 eval { $v = $m1 / $g1 };
694 eval { $v = $m1 % $g1 };
709 Use of uninitialized value $g1 in division (/) at - line 5.
710 Use of uninitialized value $m1 in division (/) at - line 5.
711 Use of uninitialized value $m2 in division (/) at - line 6.
712 Use of uninitialized value $g1 in modulus (%) at - line 7.
713 Use of uninitialized value $m1 in modulus (%) at - line 7.
714 Use of uninitialized value $m2 in modulus (%) at - line 8.
715 Use of uninitialized value $g1 in numeric eq (==) at - line 9.
716 Use of uninitialized value $m1 in numeric eq (==) at - line 9.
717 Use of uninitialized value $g1 in numeric ge (>=) at - line 10.
718 Use of uninitialized value $m1 in numeric ge (>=) at - line 10.
719 Use of uninitialized value $g1 in numeric gt (>) at - line 11.
720 Use of uninitialized value $m1 in numeric gt (>) at - line 11.
721 Use of uninitialized value $g1 in numeric le (<=) at - line 12.
722 Use of uninitialized value $m1 in numeric le (<=) at - line 12.
723 Use of uninitialized value $g1 in numeric lt (<) at - line 13.
724 Use of uninitialized value $m1 in numeric lt (<) at - line 13.
725 Use of uninitialized value $g1 in multiplication (*) at - line 14.
726 Use of uninitialized value $m1 in multiplication (*) at - line 14.
727 Use of uninitialized value $g1 in numeric comparison (<=>) at - line 15.
728 Use of uninitialized value $m1 in numeric comparison (<=>) at - line 15.
729 Use of uninitialized value $g1 in numeric ne (!=) at - line 16.
730 Use of uninitialized value $m1 in numeric ne (!=) at - line 16.
731 Use of uninitialized value $g1 in subtraction (-) at - line 17.
732 Use of uninitialized value $m1 in subtraction (-) at - line 17.
733 Use of uninitialized value $g1 in exponentiation (**) at - line 18.
734 Use of uninitialized value $m1 in exponentiation (**) at - line 18.
735 Use of uninitialized value $g1 in addition (+) at - line 19.
736 Use of uninitialized value $m1 in addition (+) at - line 19.
737 Use of uninitialized value $g1 in subtraction (-) at - line 20.
738 Use of uninitialized value $m1 in subtraction (-) at - line 20.
740 use warnings 'uninitialized';
741 sub TIESCALAR{bless[]}
752 Use of uninitialized value $m1 in addition (+) at - line 7.
753 Use of uninitialized value $m1 in addition (+) at - line 7.
754 Use of uninitialized value $m1 in subtraction (-) at - line 8.
755 Use of uninitialized value $m1 in subtraction (-) at - line 8.
757 use warnings 'uninitialized';
768 Use of uninitialized value $m1 in glob elem at - line 5.
769 Use of uninitialized value $g1 in subroutine prototype at - line 6.
770 Use of uninitialized value $g1 in bless at - line 7.
771 Use of uninitialized value $m1 in quoted execution (``, qx) at - line 8.
772 Use of uninitialized value $m1 in concatenation (.) or string at - line 10.
773 Use of uninitialized value $g1 in concatenation (.) or string at - line 10.
775 use warnings 'uninitialized';
786 s/$m1/$g1/; undef $_;
797 s/$m1/$g1/; undef $_;
804 $g2 =~ s/y/z/; undef $g2;
805 $g2 =~ s/$m1/z/; undef $g2;
806 $g2 =~ s//$g1/; undef $g2;
807 $g2 =~ s/$m1/$g1/; undef $g2;
808 $g2 =~ tr/x/y/; undef $g2; # XXX can't extract var name yet
809 $g2 =~ tr/x/y/r; undef $g2; # XXX can't extract var name yet
823 Use of uninitialized value $_ in pattern match (m//) at - line 5.
824 Use of uninitialized value $m1 in regexp compilation at - line 6.
825 Use of uninitialized value $_ in pattern match (m//) at - line 6.
826 Use of uninitialized value $g1 in regexp compilation at - line 7.
827 Use of uninitialized value $_ in pattern match (m//) at - line 7.
828 Use of uninitialized value $_ in substitution (s///) at - line 9.
829 Use of uninitialized value $m1 in regexp compilation at - line 10.
830 Use of uninitialized value $_ in substitution (s///) at - line 10.
831 Use of uninitialized value $_ in substitution (s///) at - line 10.
832 Use of uninitialized value $_ in substitution (s///) at - line 11.
833 Use of uninitialized value $g1 in substitution (s///) at - line 11.
834 Use of uninitialized value $_ in substitution (s///) at - line 11.
835 Use of uninitialized value $g1 in substitution (s///) at - line 11.
836 Use of uninitialized value $m1 in regexp compilation at - line 12.
837 Use of uninitialized value $_ in substitution (s///) at - line 12.
838 Use of uninitialized value $_ in substitution (s///) at - line 12.
839 Use of uninitialized value $g1 in substitution iterator at - line 12.
840 Use of uninitialized value $_ in transliteration (tr///) at - line 13.
841 Use of uninitialized value $_ in transliteration (tr///) at - line 14.
842 Use of uninitialized value $_ in pattern match (m//) at - line 17.
843 Use of uninitialized value $m1 in regexp compilation at - line 18.
844 Use of uninitialized value $_ in pattern match (m//) at - line 18.
845 Use of uninitialized value $g1 in regexp compilation at - line 19.
846 Use of uninitialized value $_ in pattern match (m//) at - line 19.
847 Use of uninitialized value $_ in substitution (s///) at - line 20.
848 Use of uninitialized value $m1 in regexp compilation at - line 21.
849 Use of uninitialized value $_ in substitution (s///) at - line 21.
850 Use of uninitialized value $_ in substitution (s///) at - line 21.
851 Use of uninitialized value $_ in substitution (s///) at - line 22.
852 Use of uninitialized value $g1 in substitution (s///) at - line 22.
853 Use of uninitialized value $_ in substitution (s///) at - line 22.
854 Use of uninitialized value $g1 in substitution (s///) at - line 22.
855 Use of uninitialized value $m1 in regexp compilation at - line 23.
856 Use of uninitialized value $_ in substitution (s///) at - line 23.
857 Use of uninitialized value $_ in substitution (s///) at - line 23.
858 Use of uninitialized value $g1 in substitution iterator at - line 23.
859 Use of uninitialized value $_ in transliteration (tr///) at - line 24.
860 Use of uninitialized value $_ in transliteration (tr///) at - line 25.
861 Use of uninitialized value $g2 in pattern match (m//) at - line 27.
862 Use of uninitialized value $m1 in regexp compilation at - line 28.
863 Use of uninitialized value $g2 in pattern match (m//) at - line 28.
864 Use of uninitialized value $g1 in regexp compilation at - line 29.
865 Use of uninitialized value $g2 in pattern match (m//) at - line 29.
866 Use of uninitialized value $g2 in substitution (s///) at - line 30.
867 Use of uninitialized value $m1 in regexp compilation at - line 31.
868 Use of uninitialized value $g2 in substitution (s///) at - line 31.
869 Use of uninitialized value $g2 in substitution (s///) at - line 31.
870 Use of uninitialized value $g2 in substitution (s///) at - line 32.
871 Use of uninitialized value $g1 in substitution (s///) at - line 32.
872 Use of uninitialized value $g2 in substitution (s///) at - line 32.
873 Use of uninitialized value $g1 in substitution (s///) at - line 32.
874 Use of uninitialized value $m1 in regexp compilation at - line 33.
875 Use of uninitialized value $g2 in substitution (s///) at - line 33.
876 Use of uninitialized value $g2 in substitution (s///) at - line 33.
877 Use of uninitialized value $g1 in substitution iterator at - line 33.
878 Use of uninitialized value in transliteration (tr///) at - line 34.
879 Use of uninitialized value in transliteration (tr///) at - line 35.
880 Use of uninitialized value $m1 in regexp compilation at - line 38.
881 Use of uninitialized value $g1 in regexp compilation at - line 39.
882 Use of uninitialized value $m1 in regexp compilation at - line 41.
883 Use of uninitialized value $g1 in substitution (s///) at - line 42.
884 Use of uninitialized value $m1 in regexp compilation at - line 43.
885 Use of uninitialized value $g1 in substitution iterator at - line 43.
886 Use of uninitialized value $m1 in substitution iterator at - line 44.
887 Use of uninitialized value in substitution iterator at - line 47.
889 use warnings 'uninitialized';
892 { my $foo = "abc"; (substr($foo,0,0)) = ($m1) }
894 Use of uninitialized value $m1 in list assignment at - line 4.
896 use warnings 'uninitialized';
902 Use of uninitialized value $_ in study at - line 4.
903 Use of uninitialized value $g1 in study at - line 5.
905 use warnings 'uninitialized';
911 Use of uninitialized value $_ in scalar assignment at - line 4.
912 Use of uninitialized value $m1 in scalar assignment at - line 5.
914 use warnings 'uninitialized';
925 Use of uninitialized value in addition (+) at - line 5.
926 Use of uninitialized value in addition (+) at - line 6.
927 Use of uninitialized value in addition (+) at - line 9.
928 Use of uninitialized value in addition (+) at - line 10.
930 use warnings 'uninitialized';
933 { my $x = "a" x $m1 } # NB LHS of repeat does not warn
934 { my @x = ("a") x $m1 }
936 Use of uninitialized value $m1 in repeat (x) at - line 4.
937 Use of uninitialized value $m1 in repeat (x) at - line 5.
939 use warnings 'uninitialized';
953 Use of uninitialized value $m1 in string at - line 5.
954 Use of uninitialized value $m1 in string lt at - line 7.
955 Use of uninitialized value $g1 in string lt at - line 7.
956 Use of uninitialized value $m1 in string le at - line 8.
957 Use of uninitialized value $g1 in string le at - line 8.
958 Use of uninitialized value $m1 in string gt at - line 9.
959 Use of uninitialized value $g1 in string gt at - line 9.
960 Use of uninitialized value $m1 in string ge at - line 10.
961 Use of uninitialized value $g1 in string ge at - line 10.
962 Use of uninitialized value $m1 in string eq at - line 11.
963 Use of uninitialized value $g1 in string eq at - line 11.
964 Use of uninitialized value $m1 in string ne at - line 12.
965 Use of uninitialized value $g1 in string ne at - line 12.
966 Use of uninitialized value $m1 in string comparison (cmp) at - line 13.
967 Use of uninitialized value $g1 in string comparison (cmp) at - line 13.
969 use warnings 'uninitialized';
984 $v = length; # does not warn
986 Use of uninitialized value $g1 in atan2 at - line 5.
987 Use of uninitialized value $m1 in atan2 at - line 5.
988 Use of uninitialized value $m1 in sin at - line 6.
989 Use of uninitialized value $m1 in cos at - line 7.
990 Use of uninitialized value $m1 in rand at - line 8.
991 Use of uninitialized value $m1 in srand at - line 9.
992 Use of uninitialized value $m1 in exp at - line 10.
993 Use of uninitialized value $m1 in log at - line 11.
994 Use of uninitialized value $m1 in sqrt at - line 12.
995 Use of uninitialized value $m1 in hex at - line 13.
996 Use of uninitialized value $m1 in oct at - line 14.
997 Use of uninitialized value $_ in oct at - line 15.
999 use warnings 'uninitialized';
1003 $v = substr $m1, $g1;
1004 $v = substr $m1, $g1, $m2;
1005 $v = substr $m1, $g1, $m2, $g2; undef $m1;
1006 substr($m1, $g1) = $g2; undef $m1; # NB global2
1007 substr($m1, $g1, $m2) = $g2; undef $m1; # isn't identified
1009 $v = eval {vec ($m1, $g1, $m2)};
1010 eval {vec ($m1, $g1, $m2) = $g2}; undef $m1; # ditto
1012 $v = index $m1, $m2;
1013 $v = index $m1, $m2, $g1;
1014 $v = rindex $m1, $m2;
1015 $v = rindex $m1, $m2, $g1;
1017 Use of uninitialized value $g1 in substr at - line 5.
1018 Use of uninitialized value $m1 in substr at - line 5.
1019 Use of uninitialized value $m2 in substr at - line 6.
1020 Use of uninitialized value $g1 in substr at - line 6.
1021 Use of uninitialized value $m1 in substr at - line 6.
1022 Use of uninitialized value $m2 in substr at - line 7.
1023 Use of uninitialized value $g1 in substr at - line 7.
1024 Use of uninitialized value $g2 in substr at - line 7.
1025 Use of uninitialized value $m1 in substr at - line 7.
1026 Use of uninitialized value $g1 in substr at - line 8.
1027 Use of uninitialized value $g2 in substr at - line 8.
1028 Use of uninitialized value $m1 in substr at - line 8.
1029 Use of uninitialized value $m2 in substr at - line 9.
1030 Use of uninitialized value $g1 in substr at - line 9.
1031 Use of uninitialized value $g2 in substr at - line 9.
1032 Use of uninitialized value $m1 in substr at - line 9.
1033 Use of uninitialized value $m2 in vec at - line 11.
1034 Use of uninitialized value $g1 in vec at - line 11.
1035 Use of uninitialized value $m1 in vec at - line 11.
1036 Use of uninitialized value $m2 in vec at - line 12.
1037 Use of uninitialized value $g1 in vec at - line 12.
1038 Use of uninitialized value $m1 in vec at - line 12.
1039 Use of uninitialized value $m1 in index at - line 14.
1040 Use of uninitialized value $m2 in index at - line 14.
1041 Use of uninitialized value $g1 in index at - line 15.
1042 Use of uninitialized value $m1 in index at - line 15.
1043 Use of uninitialized value $m2 in index at - line 15.
1044 Use of uninitialized value $m1 in rindex at - line 16.
1045 Use of uninitialized value $m2 in rindex at - line 16.
1046 Use of uninitialized value $g1 in rindex at - line 17.
1047 Use of uninitialized value $m1 in rindex at - line 17.
1048 Use of uninitialized value $m2 in rindex at - line 17.
1050 use warnings 'uninitialized';
1055 $v = sprintf '%d%d%d%d', $m1, $m2, $g1, $g2;
1056 my $m3; eval {formline $m3 };
1057 formline '@<<@<<@<<@<<', $m1, $m2, $g1, $g2;
1059 Use of uninitialized value $m1 in sprintf at - line 5.
1060 Use of uninitialized value $m1 in sprintf at - line 6.
1061 Use of uninitialized value $m2 in sprintf at - line 6.
1062 Use of uninitialized value $g1 in sprintf at - line 6.
1063 Use of uninitialized value $g2 in sprintf at - line 6.
1064 Use of uninitialized value $m3 in formline at - line 7.
1065 Use of uninitialized value $m1 in formline at - line 8.
1066 Use of uninitialized value $m2 in formline at - line 8.
1067 Use of uninitialized value $g1 in formline at - line 8.
1068 Use of uninitialized value $g2 in formline at - line 8.
1070 use warnings 'uninitialized';
1074 $v = crypt $m1, $g1;
1093 Use of uninitialized value $m1 in crypt at - line 5.
1094 Use of uninitialized value $g1 in crypt at - line 5.
1095 Use of uninitialized value $_ in ord at - line 7.
1096 Use of uninitialized value $m1 in ord at - line 8.
1097 Use of uninitialized value $_ in chr at - line 9.
1098 Use of uninitialized value $m1 in chr at - line 10.
1099 Use of uninitialized value $_ in ucfirst at - line 12.
1100 Use of uninitialized value $m1 in ucfirst at - line 13.
1101 Use of uninitialized value $_ in lcfirst at - line 14.
1102 Use of uninitialized value $m1 in lcfirst at - line 15.
1103 Use of uninitialized value $_ in uc at - line 16.
1104 Use of uninitialized value $m1 in uc at - line 17.
1105 Use of uninitialized value $_ in lc at - line 18.
1106 Use of uninitialized value $m1 in lc at - line 19.
1107 Use of uninitialized value $_ in quotemeta at - line 21.
1108 Use of uninitialized value $m1 in quotemeta at - line 22.
1110 use warnings 'uninitialized';
1111 my ($m1, $v1, $v2, $v3, $v4);
1114 ($v1,$v2,$v3,$v4) = split;
1115 ($v1,$v2,$v3,$v4) = split $m1;
1116 ($v1,$v2,$v3,$v4) = split $m1, $m2;
1117 ($v1,$v2,$v3,$v4) = split $m1, $m2, $g1;
1120 $v2 = join $m1, $m2;
1121 $v3 = join $m1, $m2, $m3;
1123 Use of uninitialized value $_ in split at - line 5.
1124 Use of uninitialized value $m1 in regexp compilation at - line 6.
1125 Use of uninitialized value $_ in split at - line 6.
1126 Use of uninitialized value $m1 in regexp compilation at - line 7.
1127 Use of uninitialized value $m2 in split at - line 7.
1128 Use of uninitialized value $m1 in regexp compilation at - line 8.
1129 Use of uninitialized value $g1 in split at - line 8.
1130 Use of uninitialized value $m2 in split at - line 8.
1131 Use of uninitialized value $m1 in join or string at - line 10.
1132 Use of uninitialized value $m1 in join or string at - line 11.
1133 Use of uninitialized value $m2 in join or string at - line 11.
1134 Use of uninitialized value $m1 in join or string at - line 12.
1135 Use of uninitialized value $m2 in join or string at - line 12.
1136 Use of uninitialized value $m3 in join or string at - line 12.
1138 use warnings 'uninitialized';
1139 my ($m1, $m2, @ma, $v);
1141 our @foo1=(1,undef); chomp @foo1;
1142 my @foo2=(1,undef); chomp @foo2;
1143 our @foo3=(1,undef); chop @foo3;
1144 my @foo4=(1,undef); chop @foo4;
1145 our @foo5=(1,undef); $v = sprintf "%s%s",@foo5;
1146 my @foo6=(1,undef); $v = sprintf "%s%s",@foo6;
1147 our %foo7=('foo'=>'bar','baz'=>undef); $v = sprintf "%s%s",%foo7;
1148 my %foo8=('foo'=>'bar','baz'=>undef); $v = sprintf "%s%s",%foo8;
1149 our @foo9 =(1,undef); $v = sprintf "%s%s%s%s",$m1,@foo9, $ma[2];
1150 my @foo10=(1,undef); $v = sprintf "%s%s%s%s",$m2,@foo10,$ma[2];
1151 our %foo11=('foo'=>'bar','baz'=>undef); $v = join '', %foo11;
1152 my %foo12=('foo'=>'bar','baz'=>undef); $v = join '', %foo12;
1153 our %foo13=(1..2000,'foo'=>'bar','baz'=>undef); $v = join '', %foo13;
1154 my %foo14=(1..2000,'foo'=>'bar','baz'=>undef); $v = join '', %foo14;
1156 Use of uninitialized value $foo1[1] in chomp at - line 4.
1157 Use of uninitialized value $foo2[1] in chomp at - line 5.
1158 Use of uninitialized value $foo3[1] in chop at - line 6.
1159 Use of uninitialized value $foo4[1] in chop at - line 7.
1160 Use of uninitialized value $foo5[1] in sprintf at - line 8.
1161 Use of uninitialized value $foo6[1] in sprintf at - line 9.
1162 Use of uninitialized value $foo7{"baz"} in sprintf at - line 10.
1163 Use of uninitialized value $foo8{"baz"} in sprintf at - line 11.
1164 Use of uninitialized value $m1 in sprintf at - line 12.
1165 Use of uninitialized value $foo9[1] in sprintf at - line 12.
1166 Use of uninitialized value in sprintf at - line 12.
1167 Use of uninitialized value $m2 in sprintf at - line 13.
1168 Use of uninitialized value $foo10[1] in sprintf at - line 13.
1169 Use of uninitialized value in sprintf at - line 13.
1170 Use of uninitialized value $foo11{"baz"} in join or string at - line 14.
1171 Use of uninitialized value $foo12{"baz"} in join or string at - line 15.
1172 Use of uninitialized value within %foo13 in join or string at - line 16.
1173 Use of uninitialized value within %foo14 in join or string at - line 17.
1175 use warnings 'uninitialized';
1178 undef $^A; $v = $^A + ${^FOO}; # should output '^A' not chr(1)
1183 Use of uninitialized value $^FOO in addition (+) at - line 4.
1184 Use of uninitialized value $^A in addition (+) at - line 4.
1185 Use of uninitialized value $GLOB1 in addition (+) at - line 6.
1186 Use of uninitialized value $GLOB2 in addition (+) at - line 7.
1188 use warnings 'uninitialized';
1191 # check hash key is sanitised
1192 my %h = ("\0011\002\r\n\t\f\"\\abcdefghijklmnopqrstuvwxyz", undef);
1195 Use of uninitialized value $h{"\0011\2\r\n\t\f\"\\abcdefghijklm"...} in join or string at - line 6.
1197 use warnings 'uninitialized';
1201 $v = eval { \&$m1 };
1202 $v = eval { \&$g1 };
1205 @a = splice @a, $m1, $g1;
1206 $v = 1 + splice @a, $m1, $g1;
1208 my $x = bless [], 'Z';
1216 eval { die $m1, $g1 };
1221 Use of uninitialized value $m1 in subroutine dereference at - line 5.
1222 Use of uninitialized value $g1 in subroutine dereference at - line 6.
1223 Use of uninitialized value $m1 in splice at - line 9.
1224 Use of uninitialized value $g1 in splice at - line 9.
1225 Use of uninitialized value $m1 in splice at - line 10.
1226 Use of uninitialized value $g1 in splice at - line 10.
1227 Use of uninitialized value in addition (+) at - line 10.
1228 Use of uninitialized value $m1 in method lookup at - line 13.
1229 Use of uninitialized value in subroutine entry at - line 15.
1230 Use of uninitialized value in subroutine entry at - line 16.
1231 Use of uninitialized value $m1 in warn at - line 18.
1232 Use of uninitialized value $g1 in warn at - line 18.
1234 Use of uninitialized value $m1 in die at - line 20.
1235 Use of uninitialized value $g1 in die at - line 20.
1236 Use of uninitialized value $m1 in symbol reset at - line 22.
1237 Use of uninitialized value $g1 in symbol reset at - line 23.
1239 use warnings 'uninitialized';
1243 open FOO; # accesses $FOO
1245 open($foo."O"); # accesses $FOO
1246 open my $x; # accesses ${*$x}
1247 open $foobar; # accesses ${*$foobar}
1250 eval { open $y, $m1, $g1 };
1253 sysopen $y, $m1, $m2;
1254 sysopen $y, $m1, $g1, $m2;
1263 Use of uninitialized value $FOO in open at - line 5.
1264 Use of uninitialized value in open at - line 7.
1265 Use of uninitialized value in open at - line 8.
1266 Use of uninitialized value in open at - line 9.
1267 Use of uninitialized value $m1 in open at - line 11.
1268 Use of uninitialized value $m1 in open at - line 12.
1269 Use of uninitialized value $g1 in open at - line 13.
1270 Use of uninitialized value $m2 in sysopen at - line 15.
1271 Use of uninitialized value $m1 in sysopen at - line 15.
1272 Use of uninitialized value $m2 in sysopen at - line 16.
1273 Use of uninitialized value $g1 in sysopen at - line 16.
1274 Use of uninitialized value $m1 in sysopen at - line 16.
1275 Use of uninitialized value $m1 in umask at - line 19.
1276 Use of uninitialized value $g1 in umask at - line 20.
1277 Use of uninitialized value $m1 in binmode at - line 23.
1279 use warnings 'uninitialized';
1283 eval { my $x; tie $x, $m1 };
1285 eval { my $x; read $m1, $x, $g1 };
1286 eval { my $x; read $m1, $x, $g1, $g2 };
1287 eval { my $x; sysread $m1, $x, $g1 };
1288 eval { my $x; sysread $m1, $x, $g1, $g2 };
1290 Use of uninitialized value $m1 in tie at - line 5.
1291 Use of uninitialized value $m1 in ref-to-glob cast at - line 7.
1292 Use of uninitialized value $g1 in read at - line 7.
1293 Use of uninitialized value $m1 in ref-to-glob cast at - line 8.
1294 Use of uninitialized value $g1 in read at - line 8.
1295 Use of uninitialized value $g2 in read at - line 8.
1296 Use of uninitialized value $m1 in ref-to-glob cast at - line 9.
1297 Use of uninitialized value $g1 in sysread at - line 9.
1298 Use of uninitialized value $m1 in ref-to-glob cast at - line 10.
1299 Use of uninitialized value $g1 in sysread at - line 10.
1300 Use of uninitialized value $g2 in sysread at - line 10.
1302 use warnings 'uninitialized';
1307 printf STDERR "%d%d%d%d\n", $m1, $m2, $g1, $g2;
1309 printf STDERR "FOO1:%s\n", $ga[1000];
1310 printf STDERR "FOO2:%s%s%s%s\n", $m1, $g1, $ga[1],$m2;
1311 printf STDERR "FOO3:%s%s%s\n", "X", $ga[1],"Y";
1313 Use of uninitialized value $m1 in printf at - line 5.
1314 Use of uninitialized value $m1 in printf at - line 6.
1315 Use of uninitialized value $m2 in printf at - line 6.
1316 Use of uninitialized value $g1 in printf at - line 6.
1317 Use of uninitialized value $g2 in printf at - line 6.
1319 Use of uninitialized value in printf at - line 7.
1320 Use of uninitialized value in printf at - line 8.
1322 Use of uninitialized value $m1 in printf at - line 9.
1323 Use of uninitialized value $g1 in printf at - line 9.
1324 Use of uninitialized value in printf at - line 9.
1325 Use of uninitialized value $m2 in printf at - line 9.
1327 Use of uninitialized value in printf at - line 10.
1330 use warnings 'uninitialized';
1334 eval { my $x; seek $x,$m1, $g1 };
1335 eval { my $x; sysseek $x,$m1, $g1 };
1336 eval { syswrite $m1, $g1 }; # logic changed - now won't try $g1 if $m1 is bad
1337 # eval { syswrite STDERR, $m1 }; # XXX under utf8, can give
1338 # eval { syswrite STDERR, $m1, $g1 }; # XXX different warnings
1339 # eval { syswrite STDERR, $m1, $g1, $m2 };
1340 eval { my $x; socket $x, $m1, $g1, $m2 };
1341 eval { my ($x,$y); socketpair $x, $y, $m1, $g1, $m2 };
1343 Use of uninitialized value $x in ref-to-glob cast at - line 5.
1344 Use of uninitialized value $g1 in seek at - line 5.
1345 Use of uninitialized value $m1 in seek at - line 5.
1346 Use of uninitialized value $x in ref-to-glob cast at - line 6.
1347 Use of uninitialized value $g1 in sysseek at - line 6.
1348 Use of uninitialized value $m1 in sysseek at - line 6.
1349 Use of uninitialized value $m1 in ref-to-glob cast at - line 7.
1350 Use of uninitialized value $m2 in socket at - line 11.
1351 Use of uninitialized value $g1 in socket at - line 11.
1352 Use of uninitialized value $m1 in socket at - line 11.
1353 Use of uninitialized value $m2 in socketpair at - line 12.
1354 Use of uninitialized value $g1 in socketpair at - line 12.
1355 Use of uninitialized value $m1 in socketpair at - line 12.
1359 if ( !$Config{d_flock} &&
1360 !$Config{d_fcntl_can_lock} &&
1361 !$Config{d_lockf} ) {
1369 use warnings 'uninitialized';
1372 eval { my $x; flock $x, $g1 };
1374 Use of uninitialized value $x in ref-to-glob cast at - line 16.
1375 Use of uninitialized value $g1 in flock at - line 16.
1377 use warnings 'uninitialized';
1409 # $v = -k $m1; # XXX this is a no-op under win32
1414 Use of uninitialized value $_ in stat at - line 5.
1415 Use of uninitialized value $_ in lstat at - line 6.
1416 Use of uninitialized value $m1 in stat at - line 7.
1417 Use of uninitialized value $g1 in lstat at - line 8.
1418 Use of uninitialized value $m1 in -R at - line 10.
1419 Use of uninitialized value $m1 in -W at - line 11.
1420 Use of uninitialized value $m1 in -X at - line 12.
1421 Use of uninitialized value $m1 in -r at - line 13.
1422 Use of uninitialized value $m1 in -w at - line 14.
1423 Use of uninitialized value $m1 in -x at - line 15.
1424 Use of uninitialized value $m1 in -e at - line 16.
1425 Use of uninitialized value $m1 in -o at - line 17.
1426 Use of uninitialized value $m1 in -O at - line 18.
1427 Use of uninitialized value $m1 in -z at - line 19.
1428 Use of uninitialized value $m1 in -s at - line 20.
1429 Use of uninitialized value $m1 in -M at - line 21.
1430 Use of uninitialized value $m1 in -A at - line 22.
1431 Use of uninitialized value $m1 in -C at - line 23.
1432 Use of uninitialized value $m1 in -S at - line 24.
1433 Use of uninitialized value $m1 in -c at - line 25.
1434 Use of uninitialized value $m1 in -b at - line 26.
1435 Use of uninitialized value $m1 in -f at - line 27.
1436 Use of uninitialized value $m1 in -d at - line 28.
1437 Use of uninitialized value $m1 in -p at - line 29.
1438 Use of uninitialized value $m1 in -l at - line 30.
1439 Use of uninitialized value $m1 in -u at - line 31.
1440 Use of uninitialized value $m1 in -g at - line 32.
1441 Use of uninitialized value $m1 in -t at - line 34.
1442 Use of uninitialized value $m1 in -T at - line 35.
1443 Use of uninitialized value $m1 in -B at - line 36.
1445 use warnings 'uninitialized';
1452 Use of uninitialized value $m1 in localtime at - line 5.
1453 Use of uninitialized value $g1 in gmtime at - line 6.
1455 use warnings 'uninitialized';
1460 $m2 = q($m1); $v = 1 + eval $m2;
1462 Use of uninitialized value $_ in eval "string" at - line 4.
1463 Use of uninitialized value $m1 in eval "string" at - line 5.
1464 Use of uninitialized value in addition (+) at - line 6.
1466 use warnings 'uninitialized';
1471 Use of uninitialized value $m1 in exit at - line 4.
1473 use warnings 'uninitialized';
1477 } elsif ($undef == 0) {
1480 Use of uninitialized value $undef in numeric eq (==) at - line 4.
1481 Use of uninitialized value $undef in numeric eq (==) at - line 5.
1483 # TODO long standing bug - conditions of while loops
1488 while ($c == 0 && $d) {
1496 Use of uninitialized value $c in numeric eq (==) at - line 5.
1497 Use of uninitialized value $c in numeric eq (==) at - line 5.
1499 # TODO long standing bug - conditions of until loops
1509 $c = 1 if ++$d == 2;
1512 Use of uninitialized value $c in numeric eq (==) at - line 5.
1513 Use of uninitialized value $c in numeric eq (==) at - line 5.
1515 # TODO long standing bug - conditions of for loops
1520 for ($d = 1; $c == 0 && $d; ) {
1529 for ($d = 2; $d > 0; $e = !($c == 0)) {
1537 Use of uninitialized value $c in numeric eq (==) at - line 5.
1538 Use of uninitialized value $c in numeric eq (==) at - line 5.
1539 Use of uninitialized value $c in numeric eq (==) at - line 14.
1540 Use of uninitialized value $c in numeric eq (==) at - line 14.
1542 # TODO long standing bug - more general variant of the above problem
1551 Use of uninitialized value $undef in addition (+) at - line 4.
1552 Use of uninitialized value $undef in addition (+) at - line 7.
1554 use warnings 'uninitialized';
1559 $v = reverse "abc", $r2, "def";
1561 Use of uninitialized value in reverse at - line 4.
1562 Use of uninitialized value $r1 in reverse at - line 5.
1563 Use of uninitialized value $r2 in reverse at - line 6.
1565 use warnings 'uninitialized';
1567 # ops that can return undef for defined args
1568 # split into separate tests to diagnose the cause of daily build smoke
1570 # *** `` not tested: Windows produces an error on STDERR
1572 # *** pipe() not tested
1573 # *** ioctl not tested
1574 # *** socket not tested
1575 # *** socketpair not tested
1576 # *** bind not tested
1577 # *** connect not tested
1578 # *** listen not tested
1579 # *** shutdown not tested
1580 # *** setsockopt not tested
1581 # *** getpeername not tested
1582 # *** readdir not tested
1583 # *** telldir not tested
1584 # *** seekdir not tested
1585 # *** rewinddir not tested
1586 # *** closedir not tested
1587 # *** gmtime not tested
1588 # *** alarm not tested
1589 # *** semget not tested
1590 # *** getlogin not tested
1593 use warnings 'uninitialized';
1594 if ($^O eq 'MSWin32') {
1597 # `` produces an error on STDERR on Win32
1601 my $nocmd = '/no/such/command';
1605 Use of uninitialized value in addition (+) at - line 11.
1607 use warnings 'uninitialized';
1608 if ($^O eq 'MSWin32') {
1611 # qx produces an error on STDERR on Win32
1615 my $nocmd = '/no/such/command';
1617 $v = 1 + qx($nocmd);
1619 Use of uninitialized value in addition (+) at - line 11.
1621 use warnings 'uninitialized';
1626 # NaN not supported here.
1631 $v = 1 + ($nan <=> 1);
1633 Use of uninitialized value in addition (+) at - line 11.
1635 use warnings 'uninitialized';
1636 if ($^O eq 'MSWin32') {
1639 # -k produces no warning on Win32
1643 my $nofile = '/no/such/file';
1645 $v = 1 + -k $nofile;
1647 Use of uninitialized value in addition (+) at - line 11.
1649 use warnings 'uninitialized';
1650 my $nofile = '/no/such/file';
1653 $v = 1 + open($f, $nofile);
1655 Use of uninitialized value in addition (+) at - line 5.
1657 use warnings 'uninitialized';
1658 my $nofile = '/no/such/file';
1660 $v = 1 + fileno($nofile);
1662 Use of uninitialized value in addition (+) at - line 4.
1664 use warnings 'uninitialized';
1665 my $nofile = '/no/such/file';
1667 $v = 1 + binmode($nofile);
1669 Use of uninitialized value in addition (+) at - line 4.
1671 use warnings 'uninitialized';
1672 my $nofile = '/no/such/file';
1674 $v = 1 + tied($nofile);
1676 Use of uninitialized value in addition (+) at - line 4.
1678 use warnings 'uninitialized';
1679 my $nofile = '/no/such/file';
1681 $v = 1 + getc($nofile);
1683 Use of uninitialized value in addition (+) at - line 4.
1685 use warnings 'uninitialized';
1686 my $nofile = '/no/such/file';
1688 $v = 1 + sysread($nofile, my $buf,1);
1690 Use of uninitialized value in addition (+) at - line 4.
1692 use warnings 'uninitialized';
1693 my $nofile = '/no/such/file';
1695 $v = 1 + eval { send($nofile, $buf,0) };
1697 Use of uninitialized value in addition (+) at - line 4.
1699 use warnings 'uninitialized';
1700 my $nofile = '/no/such/file';
1703 $v = 1 + eval { accept($fh, $nofile) };
1705 Use of uninitialized value in addition (+) at - line 5.
1707 use warnings 'uninitialized';
1708 my $nofile = '/no/such/file';
1710 $v = 1 + (-r $nofile);
1712 Use of uninitialized value in addition (+) at - line 4.
1714 use warnings 'uninitialized';
1715 my $nofile = '/no/such/file';
1717 $v = 1 + (-w $nofile);
1719 Use of uninitialized value in addition (+) at - line 4.
1721 use warnings 'uninitialized';
1722 my $nofile = '/no/such/file';
1724 $v = 1 + (-x $nofile);
1726 Use of uninitialized value in addition (+) at - line 4.
1728 use warnings 'uninitialized';
1729 my $nofile = '/no/such/file';
1731 $v = 1 + (-o $nofile);
1733 Use of uninitialized value in addition (+) at - line 4.
1735 use warnings 'uninitialized';
1736 my $nofile = '/no/such/file';
1738 $v = 1 + (-R $nofile);
1740 Use of uninitialized value in addition (+) at - line 4.
1742 use warnings 'uninitialized';
1743 my $nofile = '/no/such/file';
1745 $v = 1 + (-W $nofile);
1747 Use of uninitialized value in addition (+) at - line 4.
1749 use warnings 'uninitialized';
1750 my $nofile = '/no/such/file';
1752 $v = 1 + (-X $nofile);
1754 Use of uninitialized value in addition (+) at - line 4.
1756 use warnings 'uninitialized';
1757 my $nofile = '/no/such/file';
1759 $v = 1 + (-O $nofile);
1761 Use of uninitialized value in addition (+) at - line 4.
1763 use warnings 'uninitialized';
1764 my $nofile = '/no/such/file';
1766 $v = 1 + (-e $nofile);
1768 Use of uninitialized value in addition (+) at - line 4.
1770 use warnings 'uninitialized';
1771 my $nofile = '/no/such/file';
1773 $v = 1 + (-z $nofile);
1775 Use of uninitialized value in addition (+) at - line 4.
1777 use warnings 'uninitialized';
1778 my $nofile = '/no/such/file';
1780 $v = 1 + (-s $nofile);
1782 Use of uninitialized value in addition (+) at - line 4.
1784 use warnings 'uninitialized';
1785 my $nofile = '/no/such/file';
1787 $v = 1 + (-f $nofile);
1789 Use of uninitialized value in addition (+) at - line 4.
1791 use warnings 'uninitialized';
1792 my $nofile = '/no/such/file';
1794 $v = 1 + (-d $nofile);
1796 Use of uninitialized value in addition (+) at - line 4.
1798 use warnings 'uninitialized';
1799 my $nofile = '/no/such/file';
1801 $v = 1 + (-l $nofile);
1803 Use of uninitialized value in addition (+) at - line 4.
1805 use warnings 'uninitialized';
1806 my $nofile = '/no/such/file';
1808 $v = 1 + (-p $nofile);
1810 Use of uninitialized value in addition (+) at - line 4.
1812 use warnings 'uninitialized';
1813 my $nofile = '/no/such/file';
1815 $v = 1 + (-S $nofile);
1817 Use of uninitialized value in addition (+) at - line 4.
1819 use warnings 'uninitialized';
1820 my $nofile = '/no/such/file';
1822 $v = 1 + (-b $nofile);
1824 Use of uninitialized value in addition (+) at - line 4.
1826 use warnings 'uninitialized';
1827 my $nofile = '/no/such/file';
1829 $v = 1 + (-c $nofile);
1831 Use of uninitialized value in addition (+) at - line 4.
1833 use warnings 'uninitialized';
1834 my $nofile = '/no/such/file';
1836 $v = 1 + (-t $nofile);
1838 Use of uninitialized value in addition (+) at - line 4.
1840 use warnings 'uninitialized';
1841 my $nofile = '/no/such/file';
1843 $v = 1 + (-u $nofile);
1845 Use of uninitialized value in addition (+) at - line 4.
1847 use warnings 'uninitialized';
1848 my $nofile = '/no/such/file';
1850 $v = 1 + (-g $nofile);
1852 Use of uninitialized value in addition (+) at - line 4.
1854 use warnings 'uninitialized';
1855 my $nofile = '/no/such/file';
1857 $v = 1 + (-T $nofile);
1859 Use of uninitialized value in addition (+) at - line 4.
1861 use warnings 'uninitialized';
1862 my $nofile = '/no/such/file';
1864 $v = 1 + (-B $nofile);
1866 Use of uninitialized value in addition (+) at - line 4.
1868 use warnings 'uninitialized';
1869 my $nofile = '/no/such/file';
1871 $v = 1 + (-M $nofile);
1873 Use of uninitialized value in addition (+) at - line 4.
1875 use warnings 'uninitialized';
1876 my $nofile = '/no/such/file';
1878 $v = 1 + (-A $nofile);
1880 Use of uninitialized value in addition (+) at - line 4.
1882 use warnings 'uninitialized';
1883 my $nofile = '/no/such/file';
1885 $v = 1 + (-C $nofile);
1887 Use of uninitialized value in addition (+) at - line 4.
1889 use warnings 'uninitialized';
1890 my $nofile = '/no/such/file';
1892 $v = 1 + eval { readlink $nofile };
1894 Use of uninitialized value in addition (+) at - line 4.
1896 use warnings 'uninitialized';
1897 my $nofile = '/no/such/file';
1899 $v = 1 + opendir($f, $nofile);
1901 Use of uninitialized value in addition (+) at - line 4.
1903 use warnings 'uninitialized';
1904 my $nofile = '/no/such/file';
1908 Use of uninitialized value in addition (+) at - line 4.
1910 use warnings 'uninitialized';
1911 my $nofile = '/no/such/file';
1913 my $x = 1; $v = 1 + undef($x);
1915 Use of uninitialized value in addition (+) at - line 4.
1917 use warnings 'uninitialized';
1920 $v = 1 + substr($emptys,2,1);
1922 Use of uninitialized value in addition (+) at - line 4.
1924 use warnings 'uninitialized';
1927 $v = 1 + each @emptya;
1929 Use of uninitialized value in addition (+) at - line 4.
1931 use warnings 'uninitialized';
1934 $v = 1 + each %emptyh;
1936 Use of uninitialized value in addition (+) at - line 4.
1938 use warnings 'uninitialized';
1941 $v = 1 + sort @emptya;
1943 Use of uninitialized value in addition (+) at - line 4.
1945 use warnings 'uninitialized';
1947 my $zero = 0; $v = 1 + caller($zero);
1949 Use of uninitialized value in addition (+) at - line 3.
1951 use warnings 'uninitialized';
1952 my $nofile = '/no/such/file';
1954 $v = 1 + do $nofile;
1956 Use of uninitialized value in addition (+) at - line 4.
1958 use warnings 'uninitialized';
1961 $v = 1 + prototype $fn;
1963 Use of uninitialized value in addition (+) at - line 4.
1965 use warnings 'uninitialized';
1968 $v = 1 + (1 ~~ $fn);
1970 Use of uninitialized value in addition (+) at - line 4.
1972 use warnings 'uninitialized';
1975 $v = 1 + (print STDIN $f); # print to STDIN returns undef
1977 Use of uninitialized value in addition (+) at - line 4.
1979 use warnings 'uninitialized';
1982 $v = 1 + (printf STDIN "%s", $f);
1984 Use of uninitialized value in addition (+) at - line 4.
1986 use warnings 'uninitialized';
1989 { use feature 'say'; $v = 1 + (say STDIN "%s", $f); }
1991 Use of uninitialized value in addition (+) at - line 4.
1993 use warnings 'uninitialized';
1996 $v = 1 + (unpack("",$f));
1998 Use of uninitialized value in addition (+) at - line 4.
2000 use warnings 'uninitialized';
2001 my $nofile = '/no/such/file';
2004 $v = 1 + sysopen($f, $nofile, 0);
2006 Use of uninitialized value in addition (+) at - line 5.
2008 use warnings 'uninitialized';
2010 { my $x = -1; $v = 1 + sysseek(DATA, $x, 0); }
2013 Use of uninitialized value in addition (+) at - line 3.
2015 use warnings 'uninitialized';
2016 delete $::{'Foo::'};
2017 my $moo = $Foo::BAR + 42;
2020 Use of uninitialized value in addition (+) at - line 3.
2022 use warnings 'uninitialized';
2023 use constant {u=>undef, v=>undef};
2029 use warnings 'uninitialized';
2032 Use of uninitialized value $a in array dereference at - line 3.
2033 Use of uninitialized value in numeric gt (>) at - line 3.
2036 use warnings 'uninitialized';
2039 Use of uninitialized value in join or string at - line 3.