1  gv.c AOK
2
3     Can't locate package %s for @%s::ISA
4	@ISA = qw(Fred); joe()
5
6     Name "main::a" used only once: possible typo
7
8  Mandatory Warnings ALL TODO
9  ------------------
10
11    Had to create %SVf unexpectedly		[gv_fetchpv]
12    Attempt to free unreferenced glob pointers	[gp_free]
13    
14__END__
15# gv.c
16use warnings 'syntax' ;
17@ISA = qw(Fred); joe()
18EXPECT
19Undefined subroutine &main::joe called at - line 3.
20########
21# gv.c
22no warnings 'syntax' ;
23@ISA = qw(Fred); joe()
24EXPECT
25Undefined subroutine &main::joe called at - line 3.
26########
27# gv.c
28use warnings 'syntax' ;
29@ISA = qw(Fred); __PACKAGE__->joe()
30EXPECT
31While trying to resolve method call main->joe() can not locate package "Fred" yet it is mentioned in @main::ISA (perhaps you forgot to load "Fred"?) at - line 3.
32Can't locate object method "joe" via package "main" at - line 3.
33########
34# gv.c
35no warnings 'syntax' ;
36@ISA = qw(Fred); __PACKAGE__->joe()
37EXPECT
38Can't locate object method "joe" via package "main" at - line 3.
39########
40# gv.c
41use warnings 'syntax' ;
42{
43    package AA;    # this is a deliberate error
44#   package A;     # should be this
45    sub foo {
46       print STDERR "I'm in A's foo\n";
47    }
48}
49{
50   package B;
51   sub foo {
52       print STDERR "I'm in B's foo\n";
53   }
54}
55@C::ISA = qw(A B);
56$a = bless [], 'C';
57$a->foo();
58__END__
59EXPECT
60While trying to resolve method call C->foo() can not locate package "A" yet it is mentioned in @C::ISA (perhaps you forgot to load "A"?) at - line 18.
61I'm in B's foo
62########
63# gv.c
64no warnings 'syntax' ;
65{
66    package AA;    # this is a deliberate error
67#   package A;     # should be this
68    sub foo {
69       print STDERR "I'm in A's foo\n";
70    }
71}
72{
73   package B;
74   sub foo {
75       print STDERR "I'm in B's foo\n";
76   }
77}
78@C::ISA = qw(A B);
79$a = bless [], 'C';
80$a->foo();
81__END__
82EXPECT
83I'm in B's foo
84########
85# gv.c
86use warnings 'syntax' ;
87{
88#   package AA;    # this would be an error
89    package A;     # the right thing
90    sub foo {
91       print STDERR "I'm in A's foo\n";
92    }
93}
94{
95   package B;
96   sub foo {
97       print STDERR "I'm in B's foo\n";
98   }
99}
100@C::ISA = qw(A B);
101$a = bless [], 'C';
102$a->foo();
103__END__
104EXPECT
105I'm in A's foo
106########
107# gv.c
108$a = ${^ENCODING};
109$a = ${^E_NCODING};
110${^E_NCODING} = 1; # We pretend this variable never existed.
111EXPECT
112########
113# gv.c
114use warnings 'syntax' ;
115use utf8;
116use open qw( :utf8 :std );
117package ���;
118@ISA = qw(Fred); joe()
119EXPECT
120Undefined subroutine &���::joe called at - line 6.
121########
122# gv.c
123use warnings;
124$x = 1;
125if ($x) {
126    print $y;
127}
128$a++; # These two should
129$b++; # be exempt.
130$Foo::a++;
131$Foo::b++;
132EXPECT
133Name "main::y" used only once: possible typo at - line 5.
134Use of uninitialized value $y in print at - line 5.
135########
136# gv.c
137use warnings;
138$x = 1;
139if ($x) {
140    $x++;
141    print $y;
142}
143EXPECT
144Name "main::y" used only once: possible typo at - line 6.
145Use of uninitialized value $y in print at - line 6.
146########
147# gv.c
148use warnings;
149$x = 0;
150if ($x) {
151    print "1\n";
152} elsif (!$x) {
153    print $y;
154} else {
155    print "0\n";
156}
157EXPECT
158Name "main::y" used only once: possible typo at - line 7.
159Use of uninitialized value $y in print at - line 7.
160########
161# gv.c
162use warnings;
163$x = 0;
164if ($x) {
165    print "1\n";
166} elsif (!$x) {
167    $x++;
168    print $y;
169} else {
170    print "0\n";
171}
172EXPECT
173Name "main::y" used only once: possible typo at - line 8.
174Use of uninitialized value $y in print at - line 8.
175########
176# gv.c
177use utf8;
178use open qw( :utf8 :std );
179use warnings;
180$��� = 1;
181if ($���) {
182    print $��;
183}
184EXPECT
185Name "main::��" used only once: possible typo at - line 7.
186Use of uninitialized value $�� in print at - line 7.
187########
188# gv.c
189use utf8;
190use open qw( :utf8 :std );
191use warnings;
192$��� = 1;
193if ($���) {
194    $���++;
195    print $��;
196}
197EXPECT
198Name "main::��" used only once: possible typo at - line 8.
199Use of uninitialized value $�� in print at - line 8.
200########
201# gv.c
202use utf8;
203use open qw( :utf8 :std );
204use warnings;
205$��� = 0;
206if ($���) {
207    print "1\n";
208} elsif (!$���) {
209    print $��;
210} else {
211    print "0\n";
212}
213EXPECT
214Name "main::��" used only once: possible typo at - line 9.
215Use of uninitialized value $�� in print at - line 9.
216########
217# gv.c
218use utf8;
219use open qw( :utf8 :std );
220use warnings;
221$��� = 0;
222if ($���) {
223    print "1\n";
224} elsif (!$���) {
225    $���++;
226    print $��;
227} else {
228    print "0\n";
229}
230EXPECT
231Name "main::��" used only once: possible typo at - line 10.
232Use of uninitialized value $�� in print at - line 10.
233########
234# gv.c
235use utf8;
236use open qw( :utf8 :std );
237use warnings;
238package ���������;
239$��� = 1;
240if ($���) {
241    print $��;
242}
243EXPECT
244Name "���������::��" used only once: possible typo at - line 8.
245Use of uninitialized value $���������::�� in print at - line 8.
246########
247# gv.c
248use utf8;
249use open qw( :utf8 :std );
250use warnings;
251package ���������;
252$��� = 1;
253if ($���) {
254    $���++;
255    print $��;
256}
257EXPECT
258Name "���������::��" used only once: possible typo at - line 9.
259Use of uninitialized value $���������::�� in print at - line 9.
260########
261# gv.c
262use utf8;
263use open qw( :utf8 :std );
264use warnings;
265package ���������;
266$��� = 0;
267if ($���) {
268    print "1\n";
269} elsif (!$���) {
270    print $��;
271} else {
272    print "0\n";
273}
274EXPECT
275Name "���������::��" used only once: possible typo at - line 10.
276Use of uninitialized value $���������::�� in print at - line 10.
277########
278# gv.c
279use utf8;
280use open qw( :utf8 :std );
281use warnings;
282package ���������;
283$��� = 0;
284if ($���) {
285    print "1\n";
286} elsif (!$���) {
287    $���++;
288    print $��;
289} else {
290    print "0\n";
291}
292EXPECT
293Name "���������::��" used only once: possible typo at - line 11.
294Use of uninitialized value $���������::�� in print at - line 11.
295