4 # test auto defined() test insertion
10 $SIG{__WARN__} = sub { $warns++; warn $_[0] };
15 $wanted_filename = $^O eq 'VMS' ? '0.' : '0';
16 $saved_filename = $^O eq 'MacOS' ? ':0' : './0';
18 cmp_ok($warns,'==',0,'no warns at start');
20 open(FILE,">$saved_filename");
21 ok(defined(FILE),'created work file');
26 open(FILE,"<$saved_filename");
27 ok(defined(FILE),'opened work file');
30 while (my $name = <FILE>)
32 $seen++ if $name eq '0';
34 cmp_ok($seen,'==',1,'seen in while()');
41 $seen++ if $line eq '0';
42 } while ($line = <FILE>);
43 cmp_ok($seen,'==',1,'seen in do/while');
47 while (($seen ? $dummy : $name) = <FILE> )
49 $seen++ if $name eq '0';
51 cmp_ok($seen,'==',1,'seen in while() ternary');
56 while ($where{$seen} = <FILE>)
58 $seen++ if $where{$seen} eq '0';
60 cmp_ok($seen,'==',1,'seen in hash while()');
63 opendir(DIR,($^O eq 'MacOS' ? ':' : '.'));
64 ok(defined(DIR),'opened current directory');
66 while (my $name = readdir(DIR))
68 $seen++ if $name eq $wanted_filename;
70 cmp_ok($seen,'==',1,'saw work file once');
75 while (($seen ? $dummy : $name) = readdir(DIR))
77 $seen++ if $name eq $wanted_filename;
79 cmp_ok($seen,'>',0,'saw file in while() ternary');
83 while ($where{$seen} = readdir(DIR))
85 $seen++ if $where{$seen} eq $wanted_filename;
87 cmp_ok($seen,'==',1,'saw file in hash while()');
90 while (my $name = glob('*'))
92 $seen++ if $name eq $wanted_filename;
94 cmp_ok($seen,'==',1,'saw file in glob while()');
98 while (($seen ? $dummy : $name) = glob('*'))
100 $seen++ if $name eq $wanted_filename;
102 cmp_ok($seen,'>',0,'saw file in glob hash while() ternary');
105 while ($where{$seen} = glob('*'))
107 $seen++ if $where{$seen} eq $wanted_filename;
109 cmp_ok($seen,'==',1,'seen in glob hash while()');
111 unlink($saved_filename);
112 ok(!(-f $saved_filename),'work file unlinked');
114 my %hash = (0 => 1, 1 => 2);
117 while (my $name = each %hash)
119 $seen++ if $name eq '0';
121 cmp_ok($seen,'==',1,'seen in each');
125 while (($seen ? $dummy : $name) = each %hash)
127 $seen++ if $name eq '0';
129 cmp_ok($seen,'==',1,'seen in each ternary');
132 while ($where{$seen} = each %hash)
134 $seen++ if $where{$seen} eq '0';
136 cmp_ok($seen,'==',1,'seen in each hash');
138 cmp_ok($warns,'==',0,'no warns at finish');