This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
7095ad8e8f33e4186e1380c0aaf076d9b6dc0184
[perl5.git] / t / lib / croak / op
1 __END__
2 # NAME join,
3 join,
4 EXPECT
5 Not enough arguments for join or string at - line 1, near "join,"
6 Execution of - aborted due to compilation errors.
7 ########
8 # NAME my $<special>
9 my $!;
10 EXPECT
11 Can't use global $! in "my" at - line 1, near "my $!"
12 Execution of - aborted due to compilation errors.
13 ########
14 # NAME my $<non-ASCII> doesn't output garbage
15 # \xB6 is same character in all three EBCDIC pages and Latin1
16 use open ":std", ":utf8";
17 eval qq|my \$\xb6;|; # ¶ in Latin-1, and EBCDIC 1047, 037, POSIX-BC
18 print $@;
19 exit 1;
20 EXPECT
21 Can't use global $¶ in "my" at (eval 1) line 1, near "my $¶"
22 ########
23 # NAME OP_HELEM fields
24 package Foo;
25 use fields qw(a b);
26 sub new {
27     my $class = shift;
28     return fields::new($class);
29 }
30 my Foo $f = Foo->new;
31 $f->{c} = 1;
32 EXPECT
33 No such class field "c" in variable $f of type Foo at - line 8.
34 ########
35 # NAME "No such field" with block: ${$ref}{key}
36 %FIELDS; # empty hash so all keys are invalid
37 my main $r;
38 ${$r}{key};
39 EXPECT
40 No such class field "key" in variable $r of type main at - line 3.
41 ########
42 # NAME OP_HSLICE fields
43 package Foo;
44 use fields qw(a b);
45 sub new {
46     my $class = shift;
47     return fields::new($class);
48 }
49 my Foo $f = Foo->new;
50 @$f{"a", "c"} = ( 1, 2 );
51 EXPECT
52 No such class field "c" in variable $f of type Foo at - line 8.
53 ########
54 # NAME Single OP_HSLICE field
55 %FIELDS; # vivify it, but leave it empty, so all fields are invalid
56 my main $f;
57 @$f{"a"};
58 EXPECT
59 No such class field "a" in variable $f of type main at - line 3.
60 ########
61 # NAME OP_KVHSLICE fields
62 BEGIN { %FIELDS = qw(a 1 b 1); }
63 my main $f;
64 %$f{"a","c"};
65 EXPECT
66 No such class field "c" in variable $f of type main at - line 3.
67 ########
68 # NAME Num-specific &= on @array
69 use feature 'bitwise';
70 @a &= 1;
71 EXPECT
72 The bitwise feature is experimental at - line 2.
73 Can't modify array dereference in numeric bitwise and (&) at - line 2, near "1;"
74 Execution of - aborted due to compilation errors.
75 ########
76 # NAME Num-specific |= on @array
77 use feature 'bitwise';
78 @a |= 1;
79 EXPECT
80 The bitwise feature is experimental at - line 2.
81 Can't modify array dereference in numeric bitwise or (|) at - line 2, near "1;"
82 Execution of - aborted due to compilation errors.
83 ########
84 # NAME Num-specific ^= on @array
85 use feature 'bitwise';
86 @a ^= 1;
87 EXPECT
88 The bitwise feature is experimental at - line 2.
89 Can't modify array dereference in numeric bitwise xor (^) at - line 2, near "1;"
90 Execution of - aborted due to compilation errors.
91 ########
92 # NAME &.= on @array
93 use feature 'bitwise';
94 @a &.= 1;
95 EXPECT
96 The bitwise feature is experimental at - line 2.
97 Can't modify array dereference in string bitwise and (&.) at - line 2, near "1;"
98 Execution of - aborted due to compilation errors.
99 ########
100 # NAME |.= on @array
101 use feature 'bitwise';
102 @a |.= 1;
103 EXPECT
104 The bitwise feature is experimental at - line 2.
105 Can't modify array dereference in string bitwise or (|.) at - line 2, near "1;"
106 Execution of - aborted due to compilation errors.
107 ########
108 # NAME ^.= on @array
109 use feature 'bitwise';
110 @a ^.= 1;
111 EXPECT
112 The bitwise feature is experimental at - line 2.
113 Can't modify array dereference in string bitwise xor (^.) at - line 2, near "1;"
114 Execution of - aborted due to compilation errors.
115 ########
116 # NAME substr %h in scalar assignment
117 substr(%h,0) = 3;
118 EXPECT
119 Can't modify hash dereference in substr at - line 1, near "3;"
120 Execution of - aborted due to compilation errors.
121 ########
122 # NAME substr %h in list assignment
123 (substr %h,0) = 3;
124 EXPECT
125 Can't modify hash dereference in substr at - line 1, near "3;"
126 Execution of - aborted due to compilation errors.
127 ########
128 # NAME vec %h in scalar assignment
129 vec(%h,1,1) = 3;
130 EXPECT
131 Can't modify hash dereference in vec at - line 1, near "3;"
132 Execution of - aborted due to compilation errors.
133 ########
134 # NAME vec %h in list assignment
135 (vec %h,1,1) = 3;
136 EXPECT
137 Can't modify hash dereference in vec at - line 1, near "3;"
138 Execution of - aborted due to compilation errors.
139 ########
140 # NAME Can't declare conditional
141 my($a?$b:$c)
142 EXPECT
143 Can't declare conditional expression in "my" at - line 1, at EOF
144 Execution of - aborted due to compilation errors.
145 ########
146 # NAME Can't declare do block
147 my(do{})
148 EXPECT
149 Can't declare do block in "my" at - line 1, at EOF
150 Execution of - aborted due to compilation errors.
151 ########
152 # NAME ($_, state $x) = ...
153 ($_, CORE::state $x) = ();
154 EXPECT
155 Initialization of state variables in list context currently forbidden at - line 1, near ");"
156 Execution of - aborted due to compilation errors.
157 ########
158 # NAME my $y; ($y, state $x) = ...
159 my $y; ($y, CORE::state $x) = ();
160 EXPECT
161 Initialization of state variables in list context currently forbidden at - line 1, near ");"
162 Execution of - aborted due to compilation errors.
163 ########
164 # NAME delete BAD
165 delete $x;
166 EXPECT
167 delete argument is not a HASH or ARRAY element or slice at - line 1.
168 ########
169 # NAME delete sort
170 use warnings;
171 delete sort; # used to warn about scalar context, too
172 EXPECT
173 delete argument is not a HASH or ARRAY element or slice at - line 2.
174 ########
175 # NAME exists BAD
176 exists $x;
177 EXPECT
178 exists argument is not a HASH or ARRAY element or a subroutine at - line 1.
179 ########
180 # NAME exists non-sub
181 exists &foo()
182 EXPECT
183 exists argument is not a subroutine name at - line 1.
184 ########
185 # NAME push BAREWORD
186 push FRED;
187 EXPECT
188 Type of arg 1 to push must be array (not constant item) at - line 1, near "FRED;"
189 Execution of - aborted due to compilation errors.
190 ########
191 # NAME pop BAREWORD
192 pop FRED;
193 EXPECT
194 Type of arg 1 to pop must be array (not constant item) at - line 1, near "FRED;"
195 Execution of - aborted due to compilation errors.
196 ########
197 # NAME shift BAREWORD
198 shift FRED;
199 EXPECT
200 Type of arg 1 to shift must be array (not constant item) at - line 1, near "FRED;"
201 Execution of - aborted due to compilation errors.
202 ########
203 # NAME unshift BAREWORD
204 unshift FRED;
205 EXPECT
206 Type of arg 1 to unshift must be array (not constant item) at - line 1, near "FRED;"
207 Execution of - aborted due to compilation errors.
208 ########
209 # NAME keys BAREWORD
210 @a = keys FRED ;
211 EXPECT
212 Type of arg 1 to keys must be hash or array (not constant item) at - line 1, near "FRED ;"
213 Execution of - aborted due to compilation errors.
214 ########
215 # NAME values BAREWORD
216 @a = values FRED ;
217 EXPECT
218 Type of arg 1 to values must be hash or array (not constant item) at - line 1, near "FRED ;"
219 Execution of - aborted due to compilation errors.
220 ########
221 # NAME each BAREWORD
222 @a = each FRED ;
223 EXPECT
224 Type of arg 1 to each must be hash or array (not constant item) at - line 1, near "FRED ;"
225 Execution of - aborted due to compilation errors.