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';
44 Use of uninitialized value $g1 in addition (+) at - line 5.
45 Use of uninitialized value $g2 in addition (+) at - line 6.
46 Use of uninitialized value $g2 in addition (+) at - line 7.
47 Use of uninitialized value $g1 in addition (+) at - line 7.
48 Use of uninitialized value $g2 in addition (+) at - line 8.
49 Use of uninitialized value $m1 in addition (+) at - line 8.
51 use warnings 'uninitialized';
58 $v = $ma[-1] + $ma[-2];
60 Use of uninitialized value $ma[5] in addition (+) at - line 4.
61 Use of uninitialized value $ma[6] in addition (+) at - line 5.
62 Use of uninitialized value $m1 in addition (+) at - line 6.
63 Use of uninitialized value in addition (+) at - line 6.
64 Use of uninitialized value in addition (+) at - line 7.
65 Use of uninitialized value in addition (+) at - line 7.
66 Use of uninitialized value in addition (+) at - line 8.
67 Use of uninitialized value in addition (+) at - line 8.
69 use warnings 'uninitialized';
71 my @mau = (undef) x 258;
72 my %mhu = ('foo', undef, 'bar', undef);
78 $v = $mau[7] + $mau[8];
79 $v = $mau[256] + $mau[257];
80 $v = $mau[-1] + $mau[-2];
81 $v = $mhu{foo} + $mhu{bar};
83 Use of uninitialized value $mau[5] in addition (+) at - line 6.
84 Use of uninitialized value $mau[-5] in addition (+) at - line 7.
85 Use of uninitialized value $mau[6] in addition (+) at - line 8.
86 Use of uninitialized value $mau[-6] in addition (+) at - line 9.
87 Use of uninitialized value $mau[8] in addition (+) at - line 10.
88 Use of uninitialized value $mau[7] in addition (+) at - line 10.
89 Use of uninitialized value $mau[257] in addition (+) at - line 11.
90 Use of uninitialized value $mau[256] in addition (+) at - line 11.
91 Use of uninitialized value $mau[-2] in addition (+) at - line 12.
92 Use of uninitialized value $mau[-1] in addition (+) at - line 12.
93 Use of uninitialized value $mhu{"bar"} in addition (+) at - line 13.
94 Use of uninitialized value $mhu{"foo"} in addition (+) at - line 13.
96 use warnings 'uninitialized';
104 $v = $ga[10] + $ga[11];
105 $v = $ga[-10] + $ga[-11];
107 Use of uninitialized value $ga[8] in addition (+) at - line 5.
108 Use of uninitialized value $ga[-8] in addition (+) at - line 6.
109 Use of uninitialized value $ga[9] in addition (+) at - line 7.
110 Use of uninitialized value $ga[-9] in addition (+) at - line 8.
111 Use of uninitialized value in addition (+) at - line 9.
112 Use of uninitialized value in addition (+) at - line 9.
113 Use of uninitialized value in addition (+) at - line 10.
114 Use of uninitialized value in addition (+) at - line 10.
116 use warnings 'uninitialized';
118 our @gau = (undef) x 258;
119 our %ghu = ('foo', undef, 'bar', undef);
125 $v = $gau[10] + $gau[11];
126 $v = $gau[256] + $gau[257];
127 $v = $gau[-1] + $gau[-2];
128 $v = $ghu{foo} + $ghu{bar};
130 Use of uninitialized value $gau[8] in addition (+) at - line 6.
131 Use of uninitialized value $gau[-8] in addition (+) at - line 7.
132 Use of uninitialized value $gau[9] in addition (+) at - line 8.
133 Use of uninitialized value $gau[-9] in addition (+) at - line 9.
134 Use of uninitialized value $gau[11] in addition (+) at - line 10.
135 Use of uninitialized value $gau[10] in addition (+) at - line 10.
136 Use of uninitialized value $gau[257] in addition (+) at - line 11.
137 Use of uninitialized value $gau[256] in addition (+) at - line 11.
138 Use of uninitialized value $gau[-2] in addition (+) at - line 12.
139 Use of uninitialized value $gau[-1] in addition (+) at - line 12.
140 Use of uninitialized value $ghu{"bar"} in addition (+) at - line 13.
141 Use of uninitialized value $ghu{"foo"} in addition (+) at - line 13.
143 use warnings 'uninitialized';
145 our @gau = (undef) x 258;
146 our %ghu = ('foo', undef, 'bar', undef);
147 my @mau = (undef) x 258;
148 my %mhu = ('foo', undef, 'bar', undef);
156 $v = $mau[$i1] + $mau[$i2];
157 $v = $gau[$i1] + $gau[$i2];
158 $v = $gau[$i1] + $gau[$i3];
159 $v = $mhu{$k1} + $mhu{$k2};
160 $v = $ghu{$k1} + $ghu{$k2};
161 $v = $ghu{$k1} + $ghu{$k3};
163 Use of uninitialized value $mau[20] in addition (+) at - line 14.
164 Use of uninitialized value $mau[10] in addition (+) at - line 14.
165 Use of uninitialized value $gau[20] in addition (+) at - line 15.
166 Use of uninitialized value $gau[10] in addition (+) at - line 15.
167 Use of uninitialized value in addition (+) at - line 16.
168 Use of uninitialized value $gau[10] in addition (+) at - line 16.
169 Use of uninitialized value $mhu{"bar"} in addition (+) at - line 17.
170 Use of uninitialized value $mhu{"foo"} in addition (+) at - line 17.
171 Use of uninitialized value $ghu{"bar"} in addition (+) at - line 18.
172 Use of uninitialized value $ghu{"foo"} in addition (+) at - line 18.
173 Use of uninitialized value in addition (+) at - line 19.
174 Use of uninitialized value $ghu{"foo"} in addition (+) at - line 19.
176 use warnings 'uninitialized';
177 my ($m1, $m2, @ma, %mh, $v);
178 our ($g1, $g2, @ga, %gh);
194 Use of uninitialized value $m1 in array element at - line 5.
195 Use of uninitialized value $g1 in array element at - line 6.
196 Use of uninitialized value $m2 in array element at - line 7.
197 Use of uninitialized value $g2 in array element at - line 8.
198 Use of uninitialized value $m1 in hash element at - line 10.
199 Use of uninitialized value $g1 in hash element at - line 11.
200 Use of uninitialized value $m2 in hash element at - line 12.
201 Use of uninitialized value $g2 in hash element at - line 13.
202 Use of uninitialized value $g1 in subtraction (-) at - line 15.
203 Use of uninitialized value $m2 in subtraction (-) at - line 15.
204 Use of uninitialized value $m1 in addition (+) at - line 15.
205 Use of uninitialized value $ga[3] in array element at - line 16.
206 Use of uninitialized value $ma[4] in array element at - line 17.
208 use warnings 'uninitialized';
222 Use of uninitialized value $ga[1000] in sin at - line 5.
223 Use of uninitialized value $ma[1000] in sin at - line 6.
224 Use of uninitialized value $gh{"foo"} in sin at - line 7.
225 Use of uninitialized value $mh{"bar"} in sin at - line 8.
226 Use of uninitialized value within @ga in sin at - line 10.
227 Use of uninitialized value within @ma in sin at - line 11.
228 Use of uninitialized value within %gh in sin at - line 12.
229 Use of uninitialized value within %mh in sin at - line 13.
231 use warnings 'uninitialized';
233 sub X::TIEARRAY { bless [], 'X' }
234 sub X::TIEHASH { bless [], 'X' }
235 sub X::FETCH { undef }
244 $v = $mat[0] + $mat[1];
246 $v = $mat[1000] + $mat[1001];
248 $v = sin $mat[$index1];
249 $v = $mat[$index1] + $mat[$index2];
252 $v = $mht{foo} + $mht{bar};
254 $v = sin $mht{$key1};
255 $v = $mht{$key1} + $mht{$key2};
259 Use of uninitialized value $mat[0] in sin at - line 13.
260 Use of uninitialized value in addition (+) at - line 14.
261 Use of uninitialized value in addition (+) at - line 14.
262 Use of uninitialized value $mat[1000] in sin at - line 15.
263 Use of uninitialized value in addition (+) at - line 16.
264 Use of uninitialized value in addition (+) at - line 16.
265 Use of uninitialized value within @mat in sin at - line 18.
266 Use of uninitialized value in addition (+) at - line 19.
267 Use of uninitialized value in addition (+) at - line 19.
268 Use of uninitialized value $mht{"foo"} in sin at - line 21.
269 Use of uninitialized value in addition (+) at - line 22.
270 Use of uninitialized value in addition (+) at - line 22.
271 Use of uninitialized value within %mht in sin at - line 24.
272 Use of uninitialized value in addition (+) at - line 25.
273 Use of uninitialized value in addition (+) at - line 25.
274 Use of uninitialized value $1 in addition (+) at - line 27.
276 use warnings 'uninitialized';
281 print STDERR $ga[1000];
282 print STDERR $m1, $g1, $ga[1],$m2;
283 print STDERR "", $ga[1],"";
285 Use of uninitialized value in print at - line 5.
286 Use of uninitialized value in print at - line 6.
287 Use of uninitialized value $m1 in print at - line 7.
288 Use of uninitialized value $g1 in print at - line 7.
289 Use of uninitialized value in print at - line 7.
290 Use of uninitialized value $m2 in print at - line 7.
291 Use of uninitialized value in print at - line 8.
293 use warnings 'uninitialized';
297 close $m1; # exercises rv2gv
298 close $g1; # exercises rv2gv
300 Use of uninitialized value $m1 in ref-to-glob cast at - line 5.
301 Use of uninitialized value $g1 in ref-to-glob cast at - line 6.
303 use warnings 'uninitialized';
319 Use of uninitialized value $m1 in scalar dereference at - line 5.
320 Use of uninitialized value $g1 in scalar dereference at - line 6.
321 Use of uninitialized value $m1 in array dereference at - line 8.
322 Use of uninitialized value $g1 in array dereference at - line 9.
323 Use of uninitialized value $m2 in hash dereference at - line 10.
324 Use of uninitialized value $g2 in hash dereference at - line 11.
325 Use of uninitialized value in addition (+) at - line 13.
326 Use of uninitialized value $m1 in concatenation (.) or string at - line 14.
327 Use of uninitialized value in addition (+) at - line 14.
328 Use of uninitialized value $g1 in concatenation (.) or string at - line 15.
329 Use of uninitialized value in addition (+) at - line 15.
331 use warnings 'uninitialized';
345 Use of uninitialized value $m1 in bitwise or (|) at - line 5.
346 Use of uninitialized value $m2 in bitwise or (|) at - line 5.
347 Use of uninitialized value $m1 in bitwise and (&) at - line 6.
348 Use of uninitialized value $m2 in bitwise and (&) at - line 6.
349 Use of uninitialized value $m1 in bitwise xor (^) at - line 7.
350 Use of uninitialized value $m2 in bitwise xor (^) at - line 7.
351 Use of uninitialized value $m1 in 1's complement (~) at - line 8.
352 Use of uninitialized value $g1 in bitwise or (|) at - line 10.
353 Use of uninitialized value $g2 in bitwise or (|) at - line 10.
354 Use of uninitialized value $g1 in bitwise and (&) at - line 11.
355 Use of uninitialized value $g2 in bitwise and (&) at - line 11.
356 Use of uninitialized value $g1 in bitwise xor (^) at - line 12.
357 Use of uninitialized value $g2 in bitwise xor (^) at - line 12.
358 Use of uninitialized value $g1 in 1's complement (~) at - line 13.
360 use warnings 'uninitialized';
363 my $tmp1; $v = $tmp1++; # (doesn't warn)
364 our $tmp2; $v = $tmp2++; # (doesn't warn)
365 my $tmp3; $v = ++$tmp1; # (doesn't warn)
366 our $tmp4; $v = ++$tmp2; # (doesn't warn)
368 my $tmp5; $v = $tmp5--; # (doesn't warn)
369 our $tmp6; $v = $tmp6--; # (doesn't warn)
370 my $tmp7; $v = --$tmp7; # (doesn't warn)
371 our $tmp8; $v = --$tmp8; # (doesn't warn)
374 use warnings 'uninitialized';
378 my ($s3,$s4); chomp ($s3,$s4);
379 my ($s5,$s6); chop ($s5,$s6);
381 Use of uninitialized value $s1 in scalar chomp at - line 3.
382 Use of uninitialized value $s2 in scalar chop at - line 4.
383 Use of uninitialized value $s4 in chomp at - line 5.
384 Use of uninitialized value $s3 in chomp at - line 5.
385 Use of uninitialized value $s5 in chop at - line 6.
386 Use of uninitialized value $s6 in chop at - line 6.
388 use warnings 'uninitialized';
395 chomp ($x, $y); chop ($x, $y);
397 Use of uninitialized value ${$/} in scalar chomp at - line 6.
398 Use of uninitialized value ${$/} in chomp at - line 8.
399 Use of uninitialized value $y in chomp at - line 8.
400 Use of uninitialized value ${$/} in chomp at - line 8.
401 Use of uninitialized value $y in chop at - line 8.
403 use warnings 'uninitialized';
408 delete @ma[$m1, $g1];
410 delete @mh{$m1, $g1};
412 Use of uninitialized value $m1 in delete at - line 5.
413 Use of uninitialized value $m1 in delete at - line 6.
414 Use of uninitialized value $g1 in delete at - line 6.
415 Use of uninitialized value $m1 in delete at - line 7.
416 Use of uninitialized value $m1 in delete at - line 8.
417 Use of uninitialized value $g1 in delete at - line 8.
419 use warnings 'uninitialized';
423 my @a = @ma[$m1, $g1];
424 @a = (4,5)[$m1, $g1];
427 Use of uninitialized value $m1 in array slice at - line 5.
428 Use of uninitialized value $g1 in array slice at - line 5.
429 Use of uninitialized value $m1 in list slice at - line 6.
430 Use of uninitialized value $g1 in list slice at - line 6.
431 Use of uninitialized value $m1 in hash slice at - line 7.
432 Use of uninitialized value $g1 in hash slice at - line 7.
434 use warnings 'uninitialized';
435 my ($m1, @ma, %mh, $v);
438 $v = exists $ma[$m1];
439 $v = exists $ga[$g1];
440 $v = exists $mh{$m1};
441 $v = exists $gh{$g1};
443 Use of uninitialized value $m1 in exists at - line 5.
444 Use of uninitialized value $g1 in exists at - line 6.
445 Use of uninitialized value $m1 in exists at - line 7.
446 Use of uninitialized value $g1 in exists at - line 8.
448 use warnings 'uninitialized';
464 Use of uninitialized value $m1 in range (or flop) at - line 8.
465 Use of uninitialized value $m2 in range (or flop) at - line 9.
466 Use of uninitialized value in range (or flop) at - line 10.
467 Use of uninitialized value in range (or flop) at - line 10.
468 Use of uninitialized value $. in range (or flip) at - line 12.
469 Use of uninitialized value $. in range (or flip) at - line 14.
471 use warnings 'uninitialized';
479 Use of uninitialized value $m1 in left bitshift (<<) at - line 6.
480 Use of uninitialized value $x1 in left bitshift (<<) at - line 6.
481 Use of uninitialized value $g1 in left bitshift (<<) at - line 7.
482 Use of uninitialized value $x2 in left bitshift (<<) at - line 7.
484 use warnings 'uninitialized';
492 eval {$v = $m1 / $g1};
494 eval {$v = $m1 % $g1};
505 Use of uninitialized value $g1 in integer addition (+) at - line 6.
506 Use of uninitialized value $m1 in integer addition (+) at - line 6.
507 Use of uninitialized value $g1 in integer subtraction (-) at - line 7.
508 Use of uninitialized value $m1 in integer subtraction (-) at - line 7.
509 Use of uninitialized value $g1 in integer multiplication (*) at - line 8.
510 Use of uninitialized value $m1 in integer multiplication (*) at - line 8.
511 Use of uninitialized value $g1 in integer division (/) at - line 9.
512 Use of uninitialized value $m2 in integer division (/) at - line 10.
513 Use of uninitialized value $g1 in integer modulus (%) at - line 11.
514 Use of uninitialized value $m1 in integer modulus (%) at - line 11.
515 Use of uninitialized value $m2 in integer modulus (%) at - line 12.
516 Use of uninitialized value $g1 in integer lt (<) at - line 13.
517 Use of uninitialized value $m1 in integer lt (<) at - line 13.
518 Use of uninitialized value $g1 in integer gt (>) at - line 14.
519 Use of uninitialized value $m1 in integer gt (>) at - line 14.
520 Use of uninitialized value $g1 in integer le (<=) at - line 15.
521 Use of uninitialized value $m1 in integer le (<=) at - line 15.
522 Use of uninitialized value $g1 in integer ge (>=) at - line 16.
523 Use of uninitialized value $m1 in integer ge (>=) at - line 16.
524 Use of uninitialized value $g1 in integer eq (==) at - line 17.
525 Use of uninitialized value $m1 in integer eq (==) at - line 17.
526 Use of uninitialized value $g1 in integer ne (!=) at - line 18.
527 Use of uninitialized value $m1 in integer ne (!=) at - line 18.
528 Use of uninitialized value $g1 in integer comparison (<=>) at - line 19.
529 Use of uninitialized value $m1 in integer comparison (<=>) at - line 19.
530 Use of uninitialized value $m1 in integer negation (-) at - line 20.
532 use warnings 'uninitialized';
539 Use of uninitialized value $g1 in int at - line 5.
540 Use of uninitialized value $g2 in abs at - line 6.
542 use warnings 'uninitialized';
547 $v = pack "i*", $m2, $g1, $g2;
548 my @unpack = unpack $m1, $m2;
550 Use of uninitialized value $m1 in pack at - line 5.
551 Use of uninitialized value $m2 in pack at - line 6.
552 Use of uninitialized value $g1 in pack at - line 6.
553 Use of uninitialized value $g2 in pack at - line 6.
554 Use of uninitialized value $m1 in unpack at - line 7.
555 Use of uninitialized value $m2 in unpack at - line 7.
557 use warnings 'uninitialized';
562 @sort = sort $m1, $g1;
563 @sort = sort {$a <=> $b} $m1, $g1;
564 sub sortf {$a-1 <=> $b-1};
565 @sort = sort &sortf, $m1, $g1;
567 Use of uninitialized value $m1 in sort at - line 6.
568 Use of uninitialized value $g1 in sort at - line 6.
569 Use of uninitialized value $m1 in sort at - line 6.
570 Use of uninitialized value $g1 in sort at - line 6.
571 Use of uninitialized value $m1 in sort at - line 7.
572 Use of uninitialized value $g1 in sort at - line 7.
573 Use of uninitialized value $m1 in sort at - line 7.
574 Use of uninitialized value $g1 in sort at - line 7.
575 Use of uninitialized value $a in subtraction (-) at - line 8.
576 Use of uninitialized value $b in subtraction (-) at - line 8.
577 Use of uninitialized value $m1 in sort at - line 9.
578 Use of uninitialized value $g1 in sort at - line 9.
579 Use of uninitialized value $m1 in sort at - line 9.
580 Use of uninitialized value $m1 in sort at - line 9.
581 Use of uninitialized value $g1 in sort at - line 9.
582 Use of uninitialized value $g1 in sort at - line 9.
584 use warnings 'uninitialized';
588 eval { $v = $m1 / $g1 };
590 eval { $v = $m1 % $g1 };
605 Use of uninitialized value $g1 in division (/) at - line 5.
606 Use of uninitialized value $m1 in division (/) at - line 5.
607 Use of uninitialized value $m2 in division (/) at - line 6.
608 Use of uninitialized value $g1 in modulus (%) at - line 7.
609 Use of uninitialized value $m1 in modulus (%) at - line 7.
610 Use of uninitialized value $m2 in modulus (%) at - line 8.
611 Use of uninitialized value $g1 in numeric eq (==) at - line 9.
612 Use of uninitialized value $m1 in numeric eq (==) at - line 9.
613 Use of uninitialized value $g1 in numeric ge (>=) at - line 10.
614 Use of uninitialized value $m1 in numeric ge (>=) at - line 10.
615 Use of uninitialized value $g1 in numeric gt (>) at - line 11.
616 Use of uninitialized value $m1 in numeric gt (>) at - line 11.
617 Use of uninitialized value $g1 in numeric le (<=) at - line 12.
618 Use of uninitialized value $m1 in numeric le (<=) at - line 12.
619 Use of uninitialized value $g1 in numeric lt (<) at - line 13.
620 Use of uninitialized value $m1 in numeric lt (<) at - line 13.
621 Use of uninitialized value $g1 in multiplication (*) at - line 14.
622 Use of uninitialized value $m1 in multiplication (*) at - line 14.
623 Use of uninitialized value $g1 in numeric comparison (<=>) at - line 15.
624 Use of uninitialized value $m1 in numeric comparison (<=>) at - line 15.
625 Use of uninitialized value $g1 in numeric ne (!=) at - line 16.
626 Use of uninitialized value $m1 in numeric ne (!=) at - line 16.
627 Use of uninitialized value $g1 in subtraction (-) at - line 17.
628 Use of uninitialized value $m1 in subtraction (-) at - line 17.
629 Use of uninitialized value $g1 in exponentiation (**) at - line 18.
630 Use of uninitialized value $m1 in exponentiation (**) at - line 18.
631 Use of uninitialized value $g1 in addition (+) at - line 19.
632 Use of uninitialized value $m1 in addition (+) at - line 19.
633 Use of uninitialized value $g1 in subtraction (-) at - line 20.
634 Use of uninitialized value $m1 in subtraction (-) at - line 20.
636 use warnings 'uninitialized';
647 Use of uninitialized value $m1 in glob elem at - line 5.
648 Use of uninitialized value $g1 in subroutine prototype at - line 6.
649 Use of uninitialized value $g1 in bless at - line 7.
650 Use of uninitialized value $m1 in quoted execution (``, qx) at - line 8.
651 Use of uninitialized value $m1 in concatenation (.) or string at - line 10.
652 Use of uninitialized value $g1 in concatenation (.) or string at - line 10.
654 use warnings 'uninitialized';
665 s/$m1/$g1/; undef $_;
675 s/$m1/$g1/; undef $_;
681 $g2 =~ s/y/z/; undef $g2;
682 $g2 =~ s/$m1/z/; undef $g2;
683 $g2 =~ s//$g1/; undef $g2;
684 $g2 =~ s/$m1/$g1/; undef $g2;
685 $g2 =~ tr/x/y/; undef $g2; # XXX can't extract var name yet
699 Use of uninitialized value $_ in pattern match (m//) at - line 5.
700 Use of uninitialized value $m1 in regexp compilation at - line 6.
701 Use of uninitialized value $_ in pattern match (m//) at - line 6.
702 Use of uninitialized value $g1 in regexp compilation at - line 7.
703 Use of uninitialized value $_ in pattern match (m//) at - line 7.
704 Use of uninitialized value $_ in substitution (s///) at - line 9.
705 Use of uninitialized value $m1 in regexp compilation at - line 10.
706 Use of uninitialized value $_ in substitution (s///) at - line 10.
707 Use of uninitialized value $_ in substitution (s///) at - line 10.
708 Use of uninitialized value $_ in substitution (s///) at - line 11.
709 Use of uninitialized value $g1 in substitution (s///) at - line 11.
710 Use of uninitialized value $_ in substitution (s///) at - line 11.
711 Use of uninitialized value $g1 in substitution (s///) at - line 11.
712 Use of uninitialized value $m1 in regexp compilation at - line 12.
713 Use of uninitialized value $_ in substitution (s///) at - line 12.
714 Use of uninitialized value $_ in substitution (s///) at - line 12.
715 Use of uninitialized value $g1 in substitution iterator at - line 12.
716 Use of uninitialized value $_ in transliteration (tr///) at - line 13.
717 Use of uninitialized value $_ in pattern match (m//) at - line 16.
718 Use of uninitialized value $m1 in regexp compilation at - line 17.
719 Use of uninitialized value $_ in pattern match (m//) at - line 17.
720 Use of uninitialized value $g1 in regexp compilation at - line 18.
721 Use of uninitialized value $_ in pattern match (m//) at - line 18.
722 Use of uninitialized value $_ in substitution (s///) at - line 19.
723 Use of uninitialized value $m1 in regexp compilation at - line 20.
724 Use of uninitialized value $_ in substitution (s///) at - line 20.
725 Use of uninitialized value $_ in substitution (s///) at - line 20.
726 Use of uninitialized value $_ in substitution (s///) at - line 21.
727 Use of uninitialized value $g1 in substitution (s///) at - line 21.
728 Use of uninitialized value $_ in substitution (s///) at - line 21.
729 Use of uninitialized value $g1 in substitution (s///) at - line 21.
730 Use of uninitialized value $m1 in regexp compilation at - line 22.
731 Use of uninitialized value $_ in substitution (s///) at - line 22.
732 Use of uninitialized value $_ in substitution (s///) at - line 22.
733 Use of uninitialized value $g1 in substitution iterator at - line 22.
734 Use of uninitialized value $_ in transliteration (tr///) at - line 23.
735 Use of uninitialized value $g2 in pattern match (m//) at - line 25.
736 Use of uninitialized value $m1 in regexp compilation at - line 26.
737 Use of uninitialized value $g2 in pattern match (m//) at - line 26.
738 Use of uninitialized value $g1 in regexp compilation at - line 27.
739 Use of uninitialized value $g2 in pattern match (m//) at - line 27.
740 Use of uninitialized value $g2 in substitution (s///) at - line 28.
741 Use of uninitialized value $m1 in regexp compilation at - line 29.
742 Use of uninitialized value $g2 in substitution (s///) at - line 29.
743 Use of uninitialized value $g2 in substitution (s///) at - line 29.
744 Use of uninitialized value $g2 in substitution (s///) at - line 30.
745 Use of uninitialized value $g1 in substitution (s///) at - line 30.
746 Use of uninitialized value $g2 in substitution (s///) at - line 30.
747 Use of uninitialized value $g1 in substitution (s///) at - line 30.
748 Use of uninitialized value $m1 in regexp compilation at - line 31.
749 Use of uninitialized value $g2 in substitution (s///) at - line 31.
750 Use of uninitialized value $g2 in substitution (s///) at - line 31.
751 Use of uninitialized value $g1 in substitution iterator at - line 31.
752 Use of uninitialized value in transliteration (tr///) at - line 32.
753 Use of uninitialized value $m1 in regexp compilation at - line 35.
754 Use of uninitialized value $g1 in regexp compilation at - line 36.
755 Use of uninitialized value $m1 in regexp compilation at - line 38.
756 Use of uninitialized value $g1 in substitution (s///) at - line 39.
757 Use of uninitialized value $m1 in regexp compilation at - line 40.
758 Use of uninitialized value $g1 in substitution iterator at - line 40.
759 Use of uninitialized value $m1 in substitution iterator at - line 41.
760 Use of uninitialized value in substitution iterator at - line 44.
762 use warnings 'uninitialized';
765 { my $foo = "abc"; (substr($foo,0,0)) = ($m1) }
767 Use of uninitialized value $m1 in list assignment at - line 4.
769 use warnings 'uninitialized';
775 Use of uninitialized value $_ in study at - line 4.
776 Use of uninitialized value $g1 in study at - line 5.
778 use warnings 'uninitialized';
784 Use of uninitialized value $_ in scalar assignment at - line 4.
785 Use of uninitialized value $m1 in scalar assignment at - line 5.
787 use warnings 'uninitialized';
798 Use of uninitialized value in addition (+) at - line 5.
799 Use of uninitialized value in addition (+) at - line 6.
800 Use of uninitialized value in addition (+) at - line 9.
801 Use of uninitialized value in addition (+) at - line 10.
803 use warnings 'uninitialized';
806 { my $x = "a" x $m1 } # NB LHS of repeat does not warn
807 { my @x = ("a") x $m1 }
809 Use of uninitialized value $m1 in repeat (x) at - line 4.
810 Use of uninitialized value $m1 in repeat (x) at - line 5.
812 use warnings 'uninitialized';
826 Use of uninitialized value $m1 in string at - line 5.
827 Use of uninitialized value $m1 in string lt at - line 7.
828 Use of uninitialized value $g1 in string lt at - line 7.
829 Use of uninitialized value $m1 in string le at - line 8.
830 Use of uninitialized value $g1 in string le at - line 8.
831 Use of uninitialized value $m1 in string gt at - line 9.
832 Use of uninitialized value $g1 in string gt at - line 9.
833 Use of uninitialized value $m1 in string ge at - line 10.
834 Use of uninitialized value $g1 in string ge at - line 10.
835 Use of uninitialized value $m1 in string eq at - line 11.
836 Use of uninitialized value $g1 in string eq at - line 11.
837 Use of uninitialized value $m1 in string ne at - line 12.
838 Use of uninitialized value $g1 in string ne at - line 12.
839 Use of uninitialized value $m1 in string comparison (cmp) at - line 13.
840 Use of uninitialized value $g1 in string comparison (cmp) at - line 13.
842 use warnings 'uninitialized';
857 $v = length; # does not warn
859 Use of uninitialized value $g1 in atan2 at - line 5.
860 Use of uninitialized value $m1 in atan2 at - line 5.
861 Use of uninitialized value $m1 in sin at - line 6.
862 Use of uninitialized value $m1 in cos at - line 7.
863 Use of uninitialized value $m1 in rand at - line 8.
864 Use of uninitialized value $m1 in srand at - line 9.
865 Use of uninitialized value $m1 in exp at - line 10.
866 Use of uninitialized value $m1 in log at - line 11.
867 Use of uninitialized value $m1 in sqrt at - line 12.
868 Use of uninitialized value $m1 in hex at - line 13.
869 Use of uninitialized value $m1 in oct at - line 14.
870 Use of uninitialized value $_ in oct at - line 15.
872 use warnings 'uninitialized';
876 $v = substr $m1, $g1;
877 $v = substr $m1, $g1, $m2;
878 $v = substr $m1, $g1, $m2, $g2; undef $m1;
879 substr($m1, $g1) = $g2; undef $m1; # NB global2
880 substr($m1, $g1, $m2) = $g2; undef $m1; # isn't identified
882 $v = eval {vec ($m1, $g1, $m2)};
883 eval {vec ($m1, $g1, $m2) = $g2}; undef $m1; # ditto
886 $v = index $m1, $m2, $g1;
887 $v = rindex $m1, $m2;
888 $v = rindex $m1, $m2, $g1;
890 Use of uninitialized value $g1 in substr at - line 5.
891 Use of uninitialized value $m1 in substr at - line 5.
892 Use of uninitialized value $m2 in substr at - line 6.
893 Use of uninitialized value $g1 in substr at - line 6.
894 Use of uninitialized value $m1 in substr at - line 6.
895 Use of uninitialized value $g2 in substr at - line 7.
896 Use of uninitialized value $m2 in substr at - line 7.
897 Use of uninitialized value $g1 in substr at - line 7.
898 Use of uninitialized value $m1 in substr at - line 7.
899 Use of uninitialized value $g1 in substr at - line 8.
900 Use of uninitialized value $m1 in substr at - line 8.
901 Use of uninitialized value in scalar assignment at - line 8.
902 Use of uninitialized value $m2 in substr at - line 9.
903 Use of uninitialized value $g1 in substr at - line 9.
904 Use of uninitialized value $m1 in substr at - line 9.
905 Use of uninitialized value in scalar assignment at - line 9.
906 Use of uninitialized value $m2 in vec at - line 11.
907 Use of uninitialized value $g1 in vec at - line 11.
908 Use of uninitialized value $m1 in vec at - line 11.
909 Use of uninitialized value $m2 in vec at - line 12.
910 Use of uninitialized value $g1 in vec at - line 12.
911 Use of uninitialized value $m1 in vec at - line 12.
912 Use of uninitialized value $m1 in index at - line 14.
913 Use of uninitialized value $m2 in index at - line 14.
914 Use of uninitialized value $g1 in index at - line 15.
915 Use of uninitialized value $m1 in index at - line 15.
916 Use of uninitialized value $m2 in index at - line 15.
917 Use of uninitialized value $m1 in rindex at - line 16.
918 Use of uninitialized value $m2 in rindex at - line 16.
919 Use of uninitialized value $g1 in rindex at - line 17.
920 Use of uninitialized value $m1 in rindex at - line 17.
921 Use of uninitialized value $m2 in rindex at - line 17.
923 use warnings 'uninitialized';
928 $v = sprintf '%d%d%d%d', $m1, $m2, $g1, $g2;
929 my $m3; eval {formline $m3 };
930 formline '@<<@<<@<<@<<', $m1, $m2, $g1, $g2;
932 Use of uninitialized value $m1 in sprintf at - line 5.
933 Use of uninitialized value $m1 in sprintf at - line 6.
934 Use of uninitialized value $m2 in sprintf at - line 6.
935 Use of uninitialized value $g1 in sprintf at - line 6.
936 Use of uninitialized value $g2 in sprintf at - line 6.
937 Use of uninitialized value $m3 in formline at - line 7.
938 Use of uninitialized value $m1 in formline at - line 8.
939 Use of uninitialized value $m2 in formline at - line 8.
940 Use of uninitialized value $g1 in formline at - line 8.
941 Use of uninitialized value $g2 in formline at - line 8.
943 use warnings 'uninitialized';
966 Use of uninitialized value $m1 in crypt at - line 5.
967 Use of uninitialized value $g1 in crypt at - line 5.
968 Use of uninitialized value $_ in ord at - line 7.
969 Use of uninitialized value $m1 in ord at - line 8.
970 Use of uninitialized value $_ in chr at - line 9.
971 Use of uninitialized value $m1 in chr at - line 10.
972 Use of uninitialized value $_ in ucfirst at - line 12.
973 Use of uninitialized value $m1 in ucfirst at - line 13.
974 Use of uninitialized value $_ in lcfirst at - line 14.
975 Use of uninitialized value $m1 in lcfirst at - line 15.
976 Use of uninitialized value $_ in uc at - line 16.
977 Use of uninitialized value $m1 in uc at - line 17.
978 Use of uninitialized value $_ in lc at - line 18.
979 Use of uninitialized value $m1 in lc at - line 19.
980 Use of uninitialized value $_ in quotemeta at - line 21.
981 Use of uninitialized value $m1 in quotemeta at - line 22.
983 use warnings 'uninitialized';
984 my ($m1, $v1, $v2, $v3, $v4);
987 ($v1,$v2,$v3,$v4) = split;
988 ($v1,$v2,$v3,$v4) = split $m1;
989 ($v1,$v2,$v3,$v4) = split $m1, $m2;
990 ($v1,$v2,$v3,$v4) = split $m1, $m2, $g1;
994 $v3 = join $m1, $m2, $m3;
996 Use of uninitialized value $_ in split at - line 5.
997 Use of uninitialized value $m1 in regexp compilation at - line 6.
998 Use of uninitialized value $_ in split at - line 6.
999 Use of uninitialized value $m1 in regexp compilation at - line 7.
1000 Use of uninitialized value $m2 in split at - line 7.
1001 Use of uninitialized value $m1 in regexp compilation at - line 8.
1002 Use of uninitialized value $g1 in split at - line 8.
1003 Use of uninitialized value $m2 in split at - line 8.
1004 Use of uninitialized value $m1 in join or string at - line 10.
1005 Use of uninitialized value $m1 in join or string at - line 11.
1006 Use of uninitialized value $m2 in join or string at - line 11.
1007 Use of uninitialized value $m1 in join or string at - line 12.
1008 Use of uninitialized value $m2 in join or string at - line 12.
1009 Use of uninitialized value $m3 in join or string at - line 12.
1011 use warnings 'uninitialized';
1012 my ($m1, $m2, @ma, $v);
1014 our @foo1=(1,undef); chomp @foo1;
1015 my @foo2=(1,undef); chomp @foo2;
1016 our @foo3=(1,undef); chop @foo3;
1017 my @foo4=(1,undef); chop @foo4;
1018 our @foo5=(1,undef); $v = sprintf "%s%s",@foo5;
1019 my @foo6=(1,undef); $v = sprintf "%s%s",@foo6;
1020 our %foo7=('foo'=>'bar','baz'=>undef); $v = sprintf "%s%s",%foo7;
1021 my %foo8=('foo'=>'bar','baz'=>undef); $v = sprintf "%s%s",%foo8;
1022 our @foo9 =(1,undef); $v = sprintf "%s%s%s%s",$m1,@foo9, $ma[2];
1023 my @foo10=(1,undef); $v = sprintf "%s%s%s%s",$m2,@foo10,$ma[2];
1024 our %foo11=('foo'=>'bar','baz'=>undef); $v = join '', %foo11;
1025 my %foo12=('foo'=>'bar','baz'=>undef); $v = join '', %foo12;
1026 our %foo13=(1..2000,'foo'=>'bar','baz'=>undef); $v = join '', %foo13;
1027 my %foo14=(1..2000,'foo'=>'bar','baz'=>undef); $v = join '', %foo14;
1029 Use of uninitialized value $foo1[1] in chomp at - line 4.
1030 Use of uninitialized value $foo2[1] in chomp at - line 5.
1031 Use of uninitialized value $foo3[1] in chop at - line 6.
1032 Use of uninitialized value $foo4[1] in chop at - line 7.
1033 Use of uninitialized value $foo5[1] in sprintf at - line 8.
1034 Use of uninitialized value $foo6[1] in sprintf at - line 9.
1035 Use of uninitialized value $foo7{"baz"} in sprintf at - line 10.
1036 Use of uninitialized value $foo8{"baz"} in sprintf at - line 11.
1037 Use of uninitialized value $m1 in sprintf at - line 12.
1038 Use of uninitialized value $foo9[1] in sprintf at - line 12.
1039 Use of uninitialized value in sprintf at - line 12.
1040 Use of uninitialized value $m2 in sprintf at - line 13.
1041 Use of uninitialized value $foo10[1] in sprintf at - line 13.
1042 Use of uninitialized value in sprintf at - line 13.
1043 Use of uninitialized value $foo11{"baz"} in join or string at - line 14.
1044 Use of uninitialized value $foo12{"baz"} in join or string at - line 15.
1045 Use of uninitialized value within %foo13 in join or string at - line 16.
1046 Use of uninitialized value within %foo14 in join or string at - line 17.
1048 use warnings 'uninitialized';
1051 undef $^A; $v = $^A + ${^FOO}; # should output '^A' not chr(1)
1056 Use of uninitialized value $^FOO in addition (+) at - line 4.
1057 Use of uninitialized value $^A in addition (+) at - line 4.
1058 Use of uninitialized value $GLOB1 in addition (+) at - line 6.
1059 Use of uninitialized value $GLOB2 in addition (+) at - line 7.
1061 use warnings 'uninitialized';
1064 # check hash key is sanitised
1065 my %h = ("\0011\002\r\n\t\f\"\\abcdefghijklmnopqrstuvwxyz", undef);
1068 Use of uninitialized value $h{"\0011\2\r\n\t\f\"\\abcdefghijklm"...} in join or string at - line 6.
1070 use warnings 'uninitialized';
1074 $v = eval { \&$m1 };
1075 $v = eval { \&$g1 };
1078 @a = splice @a, $m1, $g1;
1079 $v = 1 + splice @a, $m1, $g1;
1081 my $x = bless [], 'Z';
1089 eval { die $m1, $g1 };
1094 Use of uninitialized value $m1 in subroutine dereference at - line 5.
1095 Use of uninitialized value $g1 in subroutine dereference at - line 6.
1096 Use of uninitialized value $m1 in splice at - line 9.
1097 Use of uninitialized value $g1 in splice at - line 9.
1098 Use of uninitialized value $m1 in splice at - line 10.
1099 Use of uninitialized value $g1 in splice at - line 10.
1100 Use of uninitialized value in addition (+) at - line 10.
1101 Use of uninitialized value $m1 in method lookup at - line 13.
1102 Use of uninitialized value in subroutine entry at - line 15.
1103 Use of uninitialized value in subroutine entry at - line 16.
1104 Use of uninitialized value $m1 in warn at - line 18.
1105 Use of uninitialized value $g1 in warn at - line 18.
1107 Use of uninitialized value $m1 in die at - line 20.
1108 Use of uninitialized value $g1 in die at - line 20.
1109 Use of uninitialized value $m1 in symbol reset at - line 22.
1110 Use of uninitialized value $g1 in symbol reset at - line 23.
1112 use warnings 'uninitialized';
1116 open FOO; # accesses $FOO
1118 open($foo."O"); # accesses $FOO
1119 open my $x; # accesses ${*$x}
1120 open $foobar; # accesses ${*$foobar}
1123 eval { open $y, $m1, $g1 };
1126 sysopen $y, $m1, $m2;
1127 sysopen $y, $m1, $g1, $m2;
1136 Use of uninitialized value $FOO in open at - line 5.
1137 Use of uninitialized value in open at - line 7.
1138 Use of uninitialized value in open at - line 8.
1139 Use of uninitialized value in open at - line 9.
1140 Use of uninitialized value $m1 in open at - line 11.
1141 Use of uninitialized value $m1 in open at - line 12.
1142 Use of uninitialized value $g1 in open at - line 13.
1143 Use of uninitialized value $m2 in sysopen at - line 15.
1144 Use of uninitialized value $m1 in sysopen at - line 15.
1145 Use of uninitialized value $m2 in sysopen at - line 16.
1146 Use of uninitialized value $g1 in sysopen at - line 16.
1147 Use of uninitialized value $m1 in sysopen at - line 16.
1148 Use of uninitialized value $m1 in umask at - line 19.
1149 Use of uninitialized value $g1 in umask at - line 20.
1150 Use of uninitialized value $m1 in binmode at - line 23.
1152 use warnings 'uninitialized';
1156 eval { my $x; tie $x, $m1 };
1158 eval { my $x; read $m1, $x, $g1 };
1159 eval { my $x; read $m1, $x, $g1, $g2 };
1160 eval { my $x; sysread $m1, $x, $g1 };
1161 eval { my $x; sysread $m1, $x, $g1, $g2 };
1163 Use of uninitialized value $m1 in tie at - line 5.
1164 Use of uninitialized value $m1 in ref-to-glob cast at - line 7.
1165 Use of uninitialized value $g1 in read at - line 7.
1166 Use of uninitialized value $m1 in ref-to-glob cast at - line 8.
1167 Use of uninitialized value $g1 in read at - line 8.
1168 Use of uninitialized value $g2 in read at - line 8.
1169 Use of uninitialized value $m1 in ref-to-glob cast at - line 9.
1170 Use of uninitialized value $g1 in sysread at - line 9.
1171 Use of uninitialized value $m1 in ref-to-glob cast at - line 10.
1172 Use of uninitialized value $g1 in sysread at - line 10.
1173 Use of uninitialized value $g2 in sysread at - line 10.
1175 use warnings 'uninitialized';
1180 printf STDERR "%d%d%d%d\n", $m1, $m2, $g1, $g2;
1182 printf STDERR "FOO1:%s\n", $ga[1000];
1183 printf STDERR "FOO2:%s%s%s%s\n", $m1, $g1, $ga[1],$m2;
1184 printf STDERR "FOO3:%s%s%s\n", "X", $ga[1],"Y";
1186 Use of uninitialized value $m1 in printf at - line 5.
1187 Use of uninitialized value $m1 in printf at - line 6.
1188 Use of uninitialized value $m2 in printf at - line 6.
1189 Use of uninitialized value $g1 in printf at - line 6.
1190 Use of uninitialized value $g2 in printf at - line 6.
1192 Use of uninitialized value in printf at - line 7.
1193 Use of uninitialized value in printf at - line 8.
1195 Use of uninitialized value $m1 in printf at - line 9.
1196 Use of uninitialized value $g1 in printf at - line 9.
1197 Use of uninitialized value in printf at - line 9.
1198 Use of uninitialized value $m2 in printf at - line 9.
1200 Use of uninitialized value in printf at - line 10.
1203 use warnings 'uninitialized';
1207 eval { my $x; seek $x,$m1, $g1 };
1208 eval { my $x; sysseek $x,$m1, $g1 };
1209 eval { syswrite $m1, $g1 }; # logic changed - now won't try $g1 if $m1 is bad
1210 # eval { syswrite STDERR, $m1 }; # XXX under utf8, can give
1211 # eval { syswrite STDERR, $m1, $g1 }; # XXX different warnings
1212 # eval { syswrite STDERR, $m1, $g1, $m2 };
1213 eval { my $x; socket $x, $m1, $g1, $m2 };
1214 eval { my ($x,$y); socketpair $x, $y, $m1, $g1, $m2 };
1216 Use of uninitialized value $x in ref-to-glob cast at - line 5.
1217 Use of uninitialized value $g1 in seek at - line 5.
1218 Use of uninitialized value $m1 in seek at - line 5.
1219 Use of uninitialized value $x in ref-to-glob cast at - line 6.
1220 Use of uninitialized value $g1 in sysseek at - line 6.
1221 Use of uninitialized value $m1 in sysseek at - line 6.
1222 Use of uninitialized value $m1 in ref-to-glob cast at - line 7.
1223 Use of uninitialized value $m2 in socket at - line 11.
1224 Use of uninitialized value $g1 in socket at - line 11.
1225 Use of uninitialized value $m1 in socket at - line 11.
1226 Use of uninitialized value $m2 in socketpair at - line 12.
1227 Use of uninitialized value $g1 in socketpair at - line 12.
1228 Use of uninitialized value $m1 in socketpair at - line 12.
1232 if ( !$Config{d_flock} &&
1233 !$Config{d_fcntl_can_lock} &&
1234 !$Config{d_lockf} ) {
1242 use warnings 'uninitialized';
1245 eval { my $x; flock $x, $g1 };
1247 Use of uninitialized value $x in ref-to-glob cast at - line 16.
1248 Use of uninitialized value $g1 in flock at - line 16.
1250 use warnings 'uninitialized';
1282 # $v = -k $m1; # XXX this is a no-op under win32
1287 Use of uninitialized value $_ in stat at - line 5.
1288 Use of uninitialized value $_ in lstat at - line 6.
1289 Use of uninitialized value $m1 in stat at - line 7.
1290 Use of uninitialized value $g1 in lstat at - line 8.
1291 Use of uninitialized value $m1 in -R at - line 10.
1292 Use of uninitialized value $m1 in -W at - line 11.
1293 Use of uninitialized value $m1 in -X at - line 12.
1294 Use of uninitialized value $m1 in -r at - line 13.
1295 Use of uninitialized value $m1 in -w at - line 14.
1296 Use of uninitialized value $m1 in -x at - line 15.
1297 Use of uninitialized value $m1 in -e at - line 16.
1298 Use of uninitialized value $m1 in -o at - line 17.
1299 Use of uninitialized value $m1 in -O at - line 18.
1300 Use of uninitialized value $m1 in -z at - line 19.
1301 Use of uninitialized value $m1 in -s at - line 20.
1302 Use of uninitialized value $m1 in -M at - line 21.
1303 Use of uninitialized value $m1 in -A at - line 22.
1304 Use of uninitialized value $m1 in -C at - line 23.
1305 Use of uninitialized value $m1 in -S at - line 24.
1306 Use of uninitialized value $m1 in -c at - line 25.
1307 Use of uninitialized value $m1 in -b at - line 26.
1308 Use of uninitialized value $m1 in -f at - line 27.
1309 Use of uninitialized value $m1 in -d at - line 28.
1310 Use of uninitialized value $m1 in -p at - line 29.
1311 Use of uninitialized value $m1 in -l at - line 30.
1312 Use of uninitialized value $m1 in -u at - line 31.
1313 Use of uninitialized value $m1 in -g at - line 32.
1314 Use of uninitialized value $m1 in -t at - line 34.
1315 Use of uninitialized value $m1 in -T at - line 35.
1316 Use of uninitialized value $m1 in -B at - line 36.
1318 use warnings 'uninitialized';
1325 Use of uninitialized value $m1 in localtime at - line 5.
1326 Use of uninitialized value $g1 in gmtime at - line 6.
1328 use warnings 'uninitialized';
1333 $m2 = q($m1); $v = 1 + eval $m2;
1335 Use of uninitialized value $_ in eval "string" at - line 4.
1336 Use of uninitialized value $m1 in eval "string" at - line 5.
1337 Use of uninitialized value in addition (+) at - line 6.
1339 use warnings 'uninitialized';
1344 Use of uninitialized value $m1 in exit at - line 4.
1346 use warnings 'uninitialized';
1350 } elsif ($undef == 0) {
1353 Use of uninitialized value $undef in numeric eq (==) at - line 4.
1354 Use of uninitialized value $undef in numeric eq (==) at - line 5.
1356 # TODO long standing bug - conditions of while loops
1361 while ($c == 0 && $d) {
1369 Use of uninitialized value $c in numeric eq (==) at - line 5.
1370 Use of uninitialized value $c in numeric eq (==) at - line 5.
1372 # TODO long standing bug - conditions of until loops
1382 $c = 1 if ++$d == 2;
1385 Use of uninitialized value $c in numeric eq (==) at - line 5.
1386 Use of uninitialized value $c in numeric eq (==) at - line 5.
1388 # TODO long standing bug - conditions of for loops
1393 for ($d = 1; $c == 0 && $d; ) {
1402 for ($d = 2; $d > 0; $e = !($c == 0)) {
1410 Use of uninitialized value $c in numeric eq (==) at - line 5.
1411 Use of uninitialized value $c in numeric eq (==) at - line 5.
1412 Use of uninitialized value $c in numeric eq (==) at - line 14.
1413 Use of uninitialized value $c in numeric eq (==) at - line 14.
1415 # TODO long standing bug - more general variant of the above problem
1424 Use of uninitialized value $undef in addition (+) at - line 4.
1425 Use of uninitialized value $undef in addition (+) at - line 7.
1427 use warnings 'uninitialized';
1432 $v = reverse "abc", $r2, "def";
1434 Use of uninitialized value in reverse at - line 4.
1435 Use of uninitialized value $r1 in reverse at - line 5.
1436 Use of uninitialized value $r2 in reverse at - line 6.
1438 use warnings 'uninitialized';
1440 # ops that can return undef for defined args
1441 # split into separate tests to diagnose the cause of daily build smoke
1443 # *** `` not tested: Windows produces an error on STDERR
1445 # *** pipe() not tested
1446 # *** ioctl not tested
1447 # *** socket not tested
1448 # *** socketpair not tested
1449 # *** bind not tested
1450 # *** connect not tested
1451 # *** listen not tested
1452 # *** shutdown not tested
1453 # *** setsockopt not tested
1454 # *** getpeername not tested
1455 # *** readdir not tested
1456 # *** telldir not tested
1457 # *** seekdir not tested
1458 # *** rewinddir not tested
1459 # *** closedir not tested
1460 # *** gmtime not tested
1461 # *** alarm not tested
1462 # *** semget not tested
1463 # *** getlogin not tested
1466 use warnings 'uninitialized';
1467 if ($^O eq 'MSWin32') {
1470 # `` produces an error on STDERR on Win32
1474 my $nocmd = '/no/such/command';
1478 Use of uninitialized value in addition (+) at - line 11.
1480 use warnings 'uninitialized';
1481 if ($^O eq 'MSWin32') {
1484 # qx produces an error on STDERR on Win32
1488 my $nocmd = '/no/such/command';
1490 $v = 1 + qx($nocmd);
1492 Use of uninitialized value in addition (+) at - line 11.
1494 use warnings 'uninitialized';
1499 # NaN not supported here.
1504 $v = 1 + ($nan <=> 1);
1506 Use of uninitialized value in addition (+) at - line 11.
1508 use warnings 'uninitialized';
1509 if ($^O eq 'MSWin32') {
1512 # -k produces no warning on Win32
1516 my $nofile = '/no/such/file';
1518 $v = 1 + -k $nofile;
1520 Use of uninitialized value in addition (+) at - line 11.
1522 use warnings 'uninitialized';
1523 my $nofile = '/no/such/file';
1526 $v = 1 + open($f, $nofile);
1528 Use of uninitialized value in addition (+) at - line 5.
1530 use warnings 'uninitialized';
1531 my $nofile = '/no/such/file';
1533 $v = 1 + fileno($nofile);
1535 Use of uninitialized value in addition (+) at - line 4.
1537 use warnings 'uninitialized';
1538 my $nofile = '/no/such/file';
1540 $v = 1 + binmode($nofile);
1542 Use of uninitialized value in addition (+) at - line 4.
1544 use warnings 'uninitialized';
1545 my $nofile = '/no/such/file';
1547 $v = 1 + tied($nofile);
1549 Use of uninitialized value in addition (+) at - line 4.
1551 use warnings 'uninitialized';
1552 my $nofile = '/no/such/file';
1554 $v = 1 + getc($nofile);
1556 Use of uninitialized value in addition (+) at - line 4.
1558 use warnings 'uninitialized';
1559 my $nofile = '/no/such/file';
1561 $v = 1 + sysread($nofile, my $buf,1);
1563 Use of uninitialized value in addition (+) at - line 4.
1565 use warnings 'uninitialized';
1566 my $nofile = '/no/such/file';
1568 $v = 1 + eval { send($nofile, $buf,0) };
1570 Use of uninitialized value in addition (+) at - line 4.
1572 use warnings 'uninitialized';
1573 my $nofile = '/no/such/file';
1576 $v = 1 + eval { accept($fh, $nofile) };
1578 Use of uninitialized value in addition (+) at - line 5.
1580 use warnings 'uninitialized';
1581 my $nofile = '/no/such/file';
1583 $v = 1 + (-r $nofile);
1585 Use of uninitialized value in addition (+) at - line 4.
1587 use warnings 'uninitialized';
1588 my $nofile = '/no/such/file';
1590 $v = 1 + (-w $nofile);
1592 Use of uninitialized value in addition (+) at - line 4.
1594 use warnings 'uninitialized';
1595 my $nofile = '/no/such/file';
1597 $v = 1 + (-x $nofile);
1599 Use of uninitialized value in addition (+) at - line 4.
1601 use warnings 'uninitialized';
1602 my $nofile = '/no/such/file';
1604 $v = 1 + (-o $nofile);
1606 Use of uninitialized value in addition (+) at - line 4.
1608 use warnings 'uninitialized';
1609 my $nofile = '/no/such/file';
1611 $v = 1 + (-R $nofile);
1613 Use of uninitialized value in addition (+) at - line 4.
1615 use warnings 'uninitialized';
1616 my $nofile = '/no/such/file';
1618 $v = 1 + (-W $nofile);
1620 Use of uninitialized value in addition (+) at - line 4.
1622 use warnings 'uninitialized';
1623 my $nofile = '/no/such/file';
1625 $v = 1 + (-X $nofile);
1627 Use of uninitialized value in addition (+) at - line 4.
1629 use warnings 'uninitialized';
1630 my $nofile = '/no/such/file';
1632 $v = 1 + (-O $nofile);
1634 Use of uninitialized value in addition (+) at - line 4.
1636 use warnings 'uninitialized';
1637 my $nofile = '/no/such/file';
1639 $v = 1 + (-e $nofile);
1641 Use of uninitialized value in addition (+) at - line 4.
1643 use warnings 'uninitialized';
1644 my $nofile = '/no/such/file';
1646 $v = 1 + (-z $nofile);
1648 Use of uninitialized value in addition (+) at - line 4.
1650 use warnings 'uninitialized';
1651 my $nofile = '/no/such/file';
1653 $v = 1 + (-s $nofile);
1655 Use of uninitialized value in addition (+) at - line 4.
1657 use warnings 'uninitialized';
1658 my $nofile = '/no/such/file';
1660 $v = 1 + (-f $nofile);
1662 Use of uninitialized value in addition (+) at - line 4.
1664 use warnings 'uninitialized';
1665 my $nofile = '/no/such/file';
1667 $v = 1 + (-d $nofile);
1669 Use of uninitialized value in addition (+) at - line 4.
1671 use warnings 'uninitialized';
1672 my $nofile = '/no/such/file';
1674 $v = 1 + (-l $nofile);
1676 Use of uninitialized value in addition (+) at - line 4.
1678 use warnings 'uninitialized';
1679 my $nofile = '/no/such/file';
1681 $v = 1 + (-p $nofile);
1683 Use of uninitialized value in addition (+) at - line 4.
1685 use warnings 'uninitialized';
1686 my $nofile = '/no/such/file';
1688 $v = 1 + (-S $nofile);
1690 Use of uninitialized value in addition (+) at - line 4.
1692 use warnings 'uninitialized';
1693 my $nofile = '/no/such/file';
1695 $v = 1 + (-b $nofile);
1697 Use of uninitialized value in addition (+) at - line 4.
1699 use warnings 'uninitialized';
1700 my $nofile = '/no/such/file';
1702 $v = 1 + (-c $nofile);
1704 Use of uninitialized value in addition (+) at - line 4.
1706 use warnings 'uninitialized';
1707 my $nofile = '/no/such/file';
1709 $v = 1 + (-t $nofile);
1711 Use of uninitialized value in addition (+) at - line 4.
1713 use warnings 'uninitialized';
1714 my $nofile = '/no/such/file';
1716 $v = 1 + (-u $nofile);
1718 Use of uninitialized value in addition (+) at - line 4.
1720 use warnings 'uninitialized';
1721 my $nofile = '/no/such/file';
1723 $v = 1 + (-g $nofile);
1725 Use of uninitialized value in addition (+) at - line 4.
1727 use warnings 'uninitialized';
1728 my $nofile = '/no/such/file';
1730 $v = 1 + (-T $nofile);
1732 Use of uninitialized value in addition (+) at - line 4.
1734 use warnings 'uninitialized';
1735 my $nofile = '/no/such/file';
1737 $v = 1 + (-B $nofile);
1739 Use of uninitialized value in addition (+) at - line 4.
1741 use warnings 'uninitialized';
1742 my $nofile = '/no/such/file';
1744 $v = 1 + (-M $nofile);
1746 Use of uninitialized value in addition (+) at - line 4.
1748 use warnings 'uninitialized';
1749 my $nofile = '/no/such/file';
1751 $v = 1 + (-A $nofile);
1753 Use of uninitialized value in addition (+) at - line 4.
1755 use warnings 'uninitialized';
1756 my $nofile = '/no/such/file';
1758 $v = 1 + (-C $nofile);
1760 Use of uninitialized value in addition (+) at - line 4.
1762 use warnings 'uninitialized';
1763 my $nofile = '/no/such/file';
1765 $v = 1 + eval { readlink $nofile };
1767 Use of uninitialized value in addition (+) at - line 4.
1769 use warnings 'uninitialized';
1770 my $nofile = '/no/such/file';
1772 $v = 1 + opendir($f, $nofile);
1774 Use of uninitialized value in addition (+) at - line 4.
1776 use warnings 'uninitialized';
1777 my $nofile = '/no/such/file';
1781 Use of uninitialized value in addition (+) at - line 4.
1783 use warnings 'uninitialized';
1784 my $nofile = '/no/such/file';
1786 my $x = 1; $v = 1 + undef($x);
1788 Use of uninitialized value in addition (+) at - line 4.
1790 use warnings 'uninitialized';
1793 $v = 1 + substr($emptys,2,1);
1795 Use of uninitialized value in addition (+) at - line 4.
1797 use warnings 'uninitialized';
1800 $v = 1 + each @emptya;
1802 Use of uninitialized value in addition (+) at - line 4.
1804 use warnings 'uninitialized';
1807 $v = 1 + each %emptyh;
1809 Use of uninitialized value in addition (+) at - line 4.
1811 use warnings 'uninitialized';
1814 $v = 1 + sort @emptya;
1816 Use of uninitialized value in addition (+) at - line 4.
1818 use warnings 'uninitialized';
1820 my $zero = 0; $v = 1 + caller($zero);
1822 Use of uninitialized value in addition (+) at - line 3.
1824 use warnings 'uninitialized';
1825 my $nofile = '/no/such/file';
1827 $v = 1 + do $nofile;
1829 Use of uninitialized value in addition (+) at - line 4.
1831 use warnings 'uninitialized';
1834 $v = 1 + prototype $fn;
1836 Use of uninitialized value in addition (+) at - line 4.
1838 use warnings 'uninitialized';
1841 $v = 1 + (1 ~~ $fn);
1843 Use of uninitialized value in addition (+) at - line 4.
1845 use warnings 'uninitialized';
1848 $v = 1 + (print STDIN $f); # print to STDIN returns undef
1850 Use of uninitialized value in addition (+) at - line 4.
1852 use warnings 'uninitialized';
1855 $v = 1 + (printf STDIN "%s", $f);
1857 Use of uninitialized value in addition (+) at - line 4.
1859 use warnings 'uninitialized';
1862 { use feature 'say'; $v = 1 + (say STDIN "%s", $f); }
1864 Use of uninitialized value in addition (+) at - line 4.
1866 use warnings 'uninitialized';
1869 $v = 1 + (unpack("",$f));
1871 Use of uninitialized value in addition (+) at - line 4.
1873 use warnings 'uninitialized';
1874 my $nofile = '/no/such/file';
1877 $v = 1 + sysopen($f, $nofile, 0);
1879 Use of uninitialized value in addition (+) at - line 5.
1881 use warnings 'uninitialized';
1883 { my $x = -1; $v = 1 + sysseek(STDIN, $x, 0); }
1885 Use of uninitialized value in addition (+) at - line 3.