This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
lib/locale.t: Improve debug info
[perl5.git] / perly.act
CommitLineData
e8fb9efb
NC
1/* -*- buffer-read-only: t -*-
2 !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
3 This file is built by regen_perly.pl from perly.y.
4 Any changes made here will be lost!
5 */
6
0de566d7 7case 2:
b5bbe64a 8#line 114 "perly.y"
727a8fe5
Z
9 {
10 PL_parser->expect = XSTATE;
8c74b414 11 }
0de566d7
DM
12 break;
13
14 case 3:
b5bbe64a 15#line 118 "perly.y"
636def1f 16 {
727a8fe5
Z
17 newPROG(block_end((ps[(3) - (4)].val.ival),(ps[(4) - (4)].val.opval)));
18 (yyval.ival) = 0;
8c74b414 19 }
9eb5c532
Z
20 break;
21
22 case 4:
b5bbe64a 23#line 123 "perly.y"
727a8fe5 24 {
78cdf107 25 parser->expect = XTERM;
8c74b414 26 }
727a8fe5
Z
27 break;
28
29 case 5:
b5bbe64a 30#line 127 "perly.y"
9eb5c532
Z
31 {
32 PL_eval_root = (ps[(3) - (3)].val.opval);
636def1f 33 (yyval.ival) = 0;
8c74b414 34 }
636def1f
RGS
35 break;
36
727a8fe5 37 case 6:
b5bbe64a 38#line 132 "perly.y"
07ffcb73 39 {
78cdf107 40 parser->expect = XBLOCK;
8c74b414 41 }
07ffcb73
Z
42 break;
43
727a8fe5 44 case 7:
b5bbe64a 45#line 136 "perly.y"
07ffcb73 46 {
5f211341 47 PL_pad_reset_pending = TRUE;
a7aaec61 48 PL_eval_root = (ps[(3) - (3)].val.opval);
07ffcb73 49 (yyval.ival) = 0;
e53d8f76
Z
50 yyunlex();
51 parser->yychar = YYEOF;
8c74b414 52 }
07ffcb73
Z
53 break;
54
727a8fe5 55 case 8:
b5bbe64a 56#line 144 "perly.y"
e53d8f76
Z
57 {
58 parser->expect = XSTATE;
8c74b414 59 }
636def1f
RGS
60 break;
61
727a8fe5 62 case 9:
b5bbe64a 63#line 148 "perly.y"
e53d8f76 64 {
8359b381 65 PL_pad_reset_pending = TRUE;
e53d8f76
Z
66 PL_eval_root = (ps[(3) - (3)].val.opval);
67 (yyval.ival) = 0;
8359b381
Z
68 yyunlex();
69 parser->yychar = YYEOF;
8c74b414 70 }
e53d8f76
Z
71 break;
72
727a8fe5 73 case 10:
b5bbe64a 74#line 156 "perly.y"
8359b381
Z
75 {
76 parser->expect = XSTATE;
8c74b414 77 }
e53d8f76
Z
78 break;
79
727a8fe5 80 case 11:
b5bbe64a 81#line 160 "perly.y"
8359b381 82 {
78cdf107 83 PL_pad_reset_pending = TRUE;
8359b381
Z
84 PL_eval_root = (ps[(3) - (3)].val.opval);
85 (yyval.ival) = 0;
78cdf107
Z
86 yyunlex();
87 parser->yychar = YYEOF;
8c74b414 88 }
8359b381
Z
89 break;
90
8359b381 91 case 12:
b5bbe64a 92#line 168 "perly.y"
78cdf107
Z
93 {
94 parser->expect = XSTATE;
8c74b414 95 }
78cdf107
Z
96 break;
97
98 case 13:
b5bbe64a 99#line 172 "perly.y"
78cdf107
Z
100 {
101 PL_eval_root = (ps[(3) - (3)].val.opval);
102 (yyval.ival) = 0;
8c74b414 103 }
78cdf107
Z
104 break;
105
106 case 14:
b5bbe64a
JH
107#line 180 "perly.y"
108 { if (PL_parser->copline > (line_t)(ps[(1) - (4)].val.ival))
109 PL_parser->copline = (line_t)(ps[(1) - (4)].val.ival);
1654d593 110 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
8c74b414 111 }
0de566d7
DM
112 break;
113
78cdf107 114 case 15:
b5bbe64a
JH
115#line 188 "perly.y"
116 { if (PL_parser->copline > (line_t)(ps[(1) - (7)].val.ival))
117 PL_parser->copline = (line_t)(ps[(1) - (7)].val.ival);
705fe0e5 118 (yyval.opval) = block_end((ps[(2) - (7)].val.ival), (ps[(5) - (7)].val.opval));
8c74b414 119 }
0d863452
RH
120 break;
121
78cdf107 122 case 16:
b5bbe64a 123#line 195 "perly.y"
8c74b414 124 { (yyval.ival) = block_start(TRUE); }
7c70caa5
FC
125 break;
126
127 case 17:
b5bbe64a
JH
128#line 199 "perly.y"
129 { if (PL_parser->copline > (line_t)(ps[(1) - (4)].val.ival))
130 PL_parser->copline = (line_t)(ps[(1) - (4)].val.ival);
1654d593 131 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
8c74b414 132 }
0de566d7
DM
133 break;
134
7c70caa5 135 case 18:
b5bbe64a 136#line 206 "perly.y"
8c74b414 137 { (yyval.ival) = block_start(FALSE); }
0de566d7
DM
138 break;
139
7c70caa5 140 case 19:
b5bbe64a 141#line 211 "perly.y"
8c74b414 142 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
143 break;
144
7c70caa5 145 case 20:
b5bbe64a 146#line 213 "perly.y"
2fcb4757 147 { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
500bedb6 148 PL_pad_reset_pending = TRUE;
503de470
DM
149 if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
150 PL_hints |= HINT_BLOCK_SCOPE;
8c74b414 151 }
500bedb6
DM
152 break;
153
7c70caa5 154 case 21:
b5bbe64a 155#line 222 "perly.y"
8c74b414 156 { (yyval.opval) = (OP*)NULL; }
705fe0e5
FC
157 break;
158
159 case 22:
b5bbe64a 160#line 224 "perly.y"
705fe0e5
FC
161 { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
162 PL_pad_reset_pending = TRUE;
163 if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
164 PL_hints |= HINT_BLOCK_SCOPE;
8c74b414 165 }
705fe0e5
FC
166 break;
167
168 case 23:
b5bbe64a 169#line 233 "perly.y"
eae48c89 170 {
b5bbe64a 171 (yyval.opval) = (ps[(1) - (1)].val.opval) ? newSTATEOP(0, NULL, (ps[(1) - (1)].val.opval)) : NULL;
8c74b414 172 }
0d863452
RH
173 break;
174
705fe0e5 175 case 24:
b5bbe64a 176#line 237 "perly.y"
8c74b414 177 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0d863452
RH
178 break;
179
705fe0e5 180 case 25:
b5bbe64a 181#line 241 "perly.y"
8e720305 182 {
b5bbe64a 183 (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[(1) - (2)].val.pval)[strlen((ps[(1) - (2)].val.pval))+1], (ps[(1) - (2)].val.pval), (ps[(2) - (2)].val.opval));
8c74b414 184 }
8e720305
Z
185 break;
186
705fe0e5 187 case 26:
b5bbe64a 188#line 245 "perly.y"
8e720305 189 {
b5bbe64a 190 (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[(1) - (2)].val.pval)[strlen((ps[(1) - (2)].val.pval))+1], (ps[(1) - (2)].val.pval), (ps[(2) - (2)].val.opval));
8c74b414 191 }
8e720305
Z
192 break;
193
705fe0e5 194 case 27:
b5bbe64a 195#line 252 "perly.y"
8c74b414 196 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
8e720305
Z
197 break;
198
705fe0e5 199 case 28:
b5bbe64a 200#line 254 "perly.y"
eae48c89
Z
201 {
202 CV *fmtcv = PL_compcv;
eae48c89
Z
203 newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
204 (yyval.opval) = (OP*)NULL;
4a273b91 205 if (CvOUTSIDE(fmtcv) && !CvEVAL(CvOUTSIDE(fmtcv))) {
eae48c89 206 SvREFCNT_inc_simple_void(fmtcv);
cc76b5cc 207 pad_add_anon(fmtcv, OP_NULL);
eae48c89 208 }
8c74b414 209 }
0de566d7
DM
210 break;
211
b5bbe64a
JH
212 case 29:
213#line 264 "perly.y"
50278755
FC
214 {
215 if ((ps[(2) - (3)].val.opval)->op_type == OP_CONST) {
216 const char *const name =
217 SvPV_nolen_const(((SVOP*)(ps[(2) - (3)].val.opval))->op_sv);
218 if (strEQ(name, "BEGIN") || strEQ(name, "END")
764212cf
FC
219 || strEQ(name, "INIT") || strEQ(name, "CHECK")
220 || strEQ(name, "UNITCHECK"))
221 CvSPECIAL_on(PL_compcv);
50278755 222 }
e07561e6
FC
223 else
224 /* State subs inside anonymous subs need to be
225 clonable themselves. */
6d5c2147
FC
226 if (CvANON(CvOUTSIDE(PL_compcv))
227 || CvCLONE(CvOUTSIDE(PL_compcv))
228 || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
229 CvOUTSIDE(PL_compcv)
230 ))[(ps[(2) - (3)].val.opval)->op_targ]))
e07561e6 231 CvCLONE_on(PL_compcv);
764212cf
FC
232 PL_parser->in_my = 0;
233 PL_parser->in_my_stash = NULL;
8c74b414 234 }
764212cf
FC
235 break;
236
b5bbe64a
JH
237 case 30:
238#line 286 "perly.y"
f05e27e5 239 {
eae48c89 240 SvREFCNT_inc_simple_void(PL_compcv);
50278755
FC
241 (ps[(2) - (7)].val.opval)->op_type == OP_CONST
242 ? newATTRSUB((ps[(3) - (7)].val.ival), (ps[(2) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval))
243 : newMYSUB((ps[(3) - (7)].val.ival), (ps[(2) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval))
50278755 244 ;
eae48c89 245 (yyval.opval) = (OP*)NULL;
764212cf 246 intro_my();
8c74b414 247 }
0de566d7
DM
248 break;
249
b5bbe64a
JH
250 case 31:
251#line 296 "perly.y"
f05e27e5 252 {
eae48c89
Z
253 package((ps[(3) - (4)].val.opval));
254 if ((ps[(2) - (4)].val.opval))
255 package_version((ps[(2) - (4)].val.opval));
256 (yyval.opval) = (OP*)NULL;
8c74b414 257 }
0de566d7
DM
258 break;
259
b5bbe64a
JH
260 case 32:
261#line 303 "perly.y"
8c74b414 262 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
0de566d7
DM
263 break;
264
b5bbe64a
JH
265 case 33:
266#line 305 "perly.y"
5f211341 267 {
eae48c89 268 SvREFCNT_inc_simple_void(PL_compcv);
b5bbe64a 269 utilize((ps[(1) - (7)].val.ival), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
eae48c89 270 (yyval.opval) = (OP*)NULL;
8c74b414 271 }
5f211341
Z
272 break;
273
b5bbe64a
JH
274 case 34:
275#line 311 "perly.y"
eae48c89 276 {
3ad73efd
Z
277 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
278 newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
b5bbe64a 279 PL_parser->copline = (line_t)(ps[(1) - (7)].val.ival);
8c74b414 280 }
4098b6bb
JV
281 break;
282
b5bbe64a
JH
283 case 35:
284#line 317 "perly.y"
eae48c89 285 {
3ad73efd
Z
286 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
287 newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
b5bbe64a 288 PL_parser->copline = (line_t)(ps[(1) - (7)].val.ival);
8c74b414 289 }
4e4da3ac
Z
290 break;
291
b5bbe64a
JH
292 case 36:
293#line 323 "perly.y"
eae48c89 294 {
b5a64814
FC
295 const PADOFFSET offset = pad_findmy_pvs("$_", 0);
296 (yyval.opval) = block_end((ps[(3) - (6)].val.ival),
297 newGIVENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)),
298 offset == NOT_IN_PAD
299 || PAD_COMPNAME_FLAGS_isOUR(offset)
300 ? 0
301 : offset));
b5bbe64a 302 PL_parser->copline = (line_t)(ps[(1) - (6)].val.ival);
8c74b414 303 }
0de566d7
DM
304 break;
305
b5bbe64a
JH
306 case 37:
307#line 334 "perly.y"
8c74b414 308 { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); }
0de566d7
DM
309 break;
310
b5bbe64a
JH
311 case 38:
312#line 336 "perly.y"
8c74b414 313 { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); }
0de566d7
DM
314 break;
315
b5bbe64a
JH
316 case 39:
317#line 338 "perly.y"
eae48c89
Z
318 {
319 (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
320 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
94bf0465 321 (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
b5bbe64a 322 PL_parser->copline = (line_t)(ps[(1) - (8)].val.ival);
8c74b414 323 }
0de566d7
DM
324 break;
325
b5bbe64a
JH
326 case 40:
327#line 345 "perly.y"
eae48c89
Z
328 {
329 (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
94bf0465
Z
330 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
331 (ps[(4) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval), (ps[(6) - (8)].val.ival)));
b5bbe64a 332 PL_parser->copline = (line_t)(ps[(1) - (8)].val.ival);
8c74b414 333 }
0de566d7
DM
334 break;
335
b5bbe64a
JH
336 case 41:
337#line 353 "perly.y"
eae48c89 338 {
b5bbe64a 339 OP *initop = (ps[(4) - (11)].val.opval);
eae48c89 340 OP *forop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
94bf0465 341 scalar((ps[(6) - (11)].val.opval)), (ps[(11) - (11)].val.opval), (ps[(9) - (11)].val.opval), (ps[(8) - (11)].val.ival));
eae48c89
Z
342 if (initop) {
343 forop = op_prepend_elem(OP_LINESEQ, initop,
344 op_append_elem(OP_LINESEQ,
345 newOP(OP_UNSTACK, OPf_SPECIAL),
346 forop));
347 }
eae48c89 348 (yyval.opval) = block_end((ps[(3) - (11)].val.ival), forop);
b5bbe64a 349 PL_parser->copline = (line_t)(ps[(1) - (11)].val.ival);
8c74b414 350 }
0de566d7
DM
351 break;
352
b5bbe64a
JH
353 case 42:
354#line 367 "perly.y"
eae48c89 355 {
94bf0465 356 (yyval.opval) = block_end((ps[(3) - (9)].val.ival), newFOROP(0, (ps[(4) - (9)].val.opval), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
b5bbe64a 357 PL_parser->copline = (line_t)(ps[(1) - (9)].val.ival);
8c74b414 358 }
f20dcd76
VP
359 break;
360
b5bbe64a
JH
361 case 43:
362#line 372 "perly.y"
eae48c89 363 {
94bf0465 364 (yyval.opval) = block_end((ps[(4) - (8)].val.ival), newFOROP(0,
3ad73efd 365 op_lvalue((ps[(2) - (8)].val.opval), OP_ENTERLOOP), (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
b5bbe64a 366 PL_parser->copline = (line_t)(ps[(1) - (8)].val.ival);
8c74b414 367 }
0de566d7
DM
368 break;
369
b5bbe64a
JH
370 case 44:
371#line 378 "perly.y"
eae48c89
Z
372 {
373 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
94bf0465 374 newFOROP(0, (OP*)NULL, (ps[(4) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval)));
b5bbe64a 375 PL_parser->copline = (line_t)(ps[(1) - (7)].val.ival);
8c74b414 376 }
0de566d7
DM
377 break;
378
b5bbe64a
JH
379 case 45:
380#line 384 "perly.y"
eae48c89
Z
381 {
382 /* a block is a loop that happens once */
383 (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
94bf0465 384 (OP*)NULL, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval), 0);
8c74b414 385 }
0de566d7
DM
386 break;
387
b5bbe64a
JH
388 case 46:
389#line 390 "perly.y"
eae48c89 390 {
eae48c89 391 package((ps[(3) - (5)].val.opval));
eae48c89 392 if ((ps[(2) - (5)].val.opval)) {
eae48c89 393 package_version((ps[(2) - (5)].val.opval));
eae48c89 394 }
8c74b414 395 }
0de566d7
DM
396 break;
397
b5bbe64a
JH
398 case 47:
399#line 397 "perly.y"
eae48c89
Z
400 {
401 /* a block is a loop that happens once */
94bf0465 402 (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
eae48c89 403 (OP*)NULL, block_end((ps[(5) - (8)].val.ival), (ps[(7) - (8)].val.opval)), (OP*)NULL, 0);
b5bbe64a
JH
404 if (PL_parser->copline > (line_t)(ps[(4) - (8)].val.ival))
405 PL_parser->copline = (line_t)(ps[(4) - (8)].val.ival);
8c74b414 406 }
0d863452
RH
407 break;
408
b5bbe64a
JH
409 case 48:
410#line 405 "perly.y"
eae48c89
Z
411 {
412 PL_parser->expect = XSTATE;
413 (yyval.opval) = (ps[(1) - (2)].val.opval);
8c74b414 414 }
0d863452
RH
415 break;
416
b5bbe64a
JH
417 case 49:
418#line 410 "perly.y"
eae48c89
Z
419 {
420 PL_parser->expect = XSTATE;
b5bbe64a 421 (yyval.opval) = (OP*)NULL;
eae48c89 422 PL_parser->copline = NOLINE;
8c74b414 423 }
0de566d7
DM
424 break;
425
b5bbe64a
JH
426 case 50:
427#line 419 "perly.y"
705fe0e5
FC
428 { OP *list;
429 if ((ps[(2) - (2)].val.opval)) {
430 OP *term = (ps[(2) - (2)].val.opval);
705fe0e5
FC
431 list = op_append_elem(OP_LIST, (ps[(1) - (2)].val.opval), term);
432 }
433 else {
705fe0e5 434 list = (ps[(1) - (2)].val.opval);
705fe0e5
FC
435 }
436 if (PL_parser->copline == NOLINE)
437 PL_parser->copline = CopLINE(PL_curcop)-1;
438 else PL_parser->copline--;
439 (yyval.opval) = newSTATEOP(0, NULL,
440 convert(OP_FORMLINE, 0, list));
8c74b414 441 }
705fe0e5
FC
442 break;
443
b5bbe64a
JH
444 case 51:
445#line 436 "perly.y"
8c74b414 446 { (yyval.opval) = NULL; }
705fe0e5
FC
447 break;
448
b5bbe64a
JH
449 case 52:
450#line 438 "perly.y"
8c74b414 451 { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); }
705fe0e5
FC
452 break;
453
b5bbe64a
JH
454 case 53:
455#line 443 "perly.y"
8c74b414 456 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
457 break;
458
b5bbe64a
JH
459 case 54:
460#line 445 "perly.y"
8c74b414 461 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
462 break;
463
b5bbe64a
JH
464 case 55:
465#line 447 "perly.y"
466 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
467 break;
468
8d2a5fb4 469 case 56:
b5bbe64a
JH
470#line 449 "perly.y"
471 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
0de566d7
DM
472 break;
473
8d2a5fb4 474 case 57:
b5bbe64a
JH
475#line 451 "perly.y"
476 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval)); }
0de566d7
DM
477 break;
478
8d2a5fb4 479 case 58:
b5bbe64a
JH
480#line 453 "perly.y"
481 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval)); }
0de566d7
DM
482 break;
483
8d2a5fb4 484 case 59:
b5bbe64a 485#line 455 "perly.y"
94bf0465 486 { (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
b5bbe64a 487 PL_parser->copline = (line_t)(ps[(2) - (3)].val.ival); }
0de566d7
DM
488 break;
489
b5bbe64a
JH
490 case 60:
491#line 458 "perly.y"
8c74b414 492 { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); }
0de566d7
DM
493 break;
494
b5bbe64a
JH
495 case 61:
496#line 463 "perly.y"
8c74b414 497 { (yyval.opval) = (OP*)NULL; }
0d863452
RH
498 break;
499
b5bbe64a
JH
500 case 62:
501#line 465 "perly.y"
3ad73efd
Z
502 {
503 ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS;
504 (yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
8c74b414 505 }
eae48c89
Z
506 break;
507
b5bbe64a
JH
508 case 63:
509#line 470 "perly.y"
510 { PL_parser->copline = (line_t)(ps[(1) - (6)].val.ival);
3ad73efd
Z
511 (yyval.opval) = newCONDOP(0,
512 newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)),
513 op_scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval));
514 PL_hints |= HINT_BLOCK_SCOPE;
8c74b414 515 }
eae48c89
Z
516 break;
517
b5bbe64a
JH
518 case 64:
519#line 480 "perly.y"
8c74b414 520 { (yyval.opval) = (OP*)NULL; }
eae48c89
Z
521 break;
522
b5bbe64a
JH
523 case 65:
524#line 482 "perly.y"
525 { (yyval.opval) = op_scope((ps[(2) - (2)].val.opval)); }
eae48c89
Z
526 break;
527
b5bbe64a
JH
528 case 66:
529#line 487 "perly.y"
9a9798c2 530 { (yyval.ival) = (PL_min_intro_pending &&
a034e688 531 PL_max_intro_pending >= PL_min_intro_pending);
8c74b414 532 intro_my(); }
0de566d7
DM
533 break;
534
b5bbe64a
JH
535 case 67:
536#line 493 "perly.y"
8c74b414 537 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
538 break;
539
b5bbe64a
JH
540 case 69:
541#line 499 "perly.y"
f05e27e5
DM
542 { YYSTYPE tmplval;
543 (void)scan_num("1", &tmplval);
8c74b414 544 (yyval.opval) = tmplval.opval; }
0de566d7
DM
545 break;
546
b5bbe64a
JH
547 case 71:
548#line 507 "perly.y"
8c74b414 549 { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); }
4e4da3ac
Z
550 break;
551
b5bbe64a
JH
552 case 72:
553#line 512 "perly.y"
8c74b414 554 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
9eb5c532
Z
555 break;
556
b5bbe64a
JH
557 case 73:
558#line 516 "perly.y"
8c74b414 559 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
f20dcd76
VP
560 break;
561
b5bbe64a
JH
562 case 74:
563#line 520 "perly.y"
8c74b414 564 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
0de566d7
DM
565 break;
566
b5bbe64a
JH
567 case 75:
568#line 523 "perly.y"
8c74b414 569 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
7c70caa5
FC
570 break;
571
b5bbe64a
JH
572 case 76:
573#line 524 "perly.y"
8c74b414 574 { (yyval.opval) = (OP*)NULL; }
764212cf
FC
575 break;
576
b5bbe64a
JH
577 case 77:
578#line 528 "perly.y"
2af555bf 579 { (yyval.ival) = start_subparse(FALSE, 0);
8c74b414 580 SAVEFREESV(PL_compcv); }
0de566d7
DM
581 break;
582
b5bbe64a
JH
583 case 78:
584#line 534 "perly.y"
2af555bf 585 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
8c74b414 586 SAVEFREESV(PL_compcv); }
500bedb6
DM
587 break;
588
b5bbe64a
JH
589 case 79:
590#line 539 "perly.y"
2af555bf 591 { (yyval.ival) = start_subparse(TRUE, 0);
8c74b414 592 SAVEFREESV(PL_compcv); }
2af555bf
DM
593 break;
594
b5bbe64a
JH
595 case 82:
596#line 550 "perly.y"
8c74b414 597 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
598 break;
599
b5bbe64a
JH
600 case 84:
601#line 556 "perly.y"
8c74b414 602 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
603 break;
604
b5bbe64a
JH
605 case 85:
606#line 558 "perly.y"
607 { (yyval.opval) = (ps[(2) - (2)].val.opval); }
608 break;
609
8d2a5fb4 610 case 86:
b5bbe64a
JH
611#line 560 "perly.y"
612 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
613 break;
614
8d2a5fb4 615 case 87:
b5bbe64a
JH
616#line 565 "perly.y"
617 { (yyval.opval) = (ps[(2) - (2)].val.opval); }
0de566d7
DM
618 break;
619
8d2a5fb4 620 case 88:
b5bbe64a
JH
621#line 567 "perly.y"
622 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
623 break;
624
8d2a5fb4 625 case 89:
b5bbe64a 626#line 571 "perly.y"
30d9c59b 627 { (yyval.opval) = (OP*)NULL; }
0de566d7
DM
628 break;
629
b5bbe64a
JH
630 case 90:
631#line 573 "perly.y"
30d9c59b
Z
632 {
633 if (!FEATURE_SIGNATURES_IS_ENABLED)
634 Perl_croak(aTHX_ "Experimental "
635 "subroutine signatures not enabled");
636 Perl_ck_warner_d(aTHX_
637 packWARN(WARN_EXPERIMENTAL__SIGNATURES),
638 "The signatures feature is experimental");
639 (yyval.opval) = parse_subsignature();
640 }
641 break;
642
b5bbe64a
JH
643 case 91:
644#line 583 "perly.y"
30d9c59b
Z
645 {
646 (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(2) - (3)].val.opval),
647 newSTATEOP(0, NULL, sawparens(newNULLLIST())));
648 PL_parser->expect = XBLOCK;
649 }
650 break;
651
b5bbe64a
JH
652 case 92:
653#line 592 "perly.y"
30d9c59b 654 {
b5bbe64a
JH
655 if (PL_parser->copline > (line_t)(ps[(3) - (5)].val.ival))
656 PL_parser->copline = (line_t)(ps[(3) - (5)].val.ival);
30d9c59b
Z
657 (yyval.opval) = block_end((ps[(1) - (5)].val.ival),
658 op_append_list(OP_LINESEQ, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)));
30d9c59b
Z
659 }
660 break;
661
b5bbe64a
JH
662 case 93:
663#line 601 "perly.y"
30d9c59b
Z
664 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
665 break;
666
b5bbe64a
JH
667 case 94:
668#line 602 "perly.y"
669 { (yyval.opval) = (OP*)NULL;
53a7735b 670 PL_parser->expect = XSTATE;
8c74b414 671 }
0de566d7
DM
672 break;
673
b5bbe64a
JH
674 case 95:
675#line 609 "perly.y"
676 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
677 break;
678
30d9c59b 679 case 96:
b5bbe64a
JH
680#line 611 "perly.y"
681 { (yyval.opval) = newLOGOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
682 break;
683
30d9c59b 684 case 97:
b5bbe64a
JH
685#line 613 "perly.y"
686 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
687 break;
688
b5bbe64a
JH
689 case 99:
690#line 619 "perly.y"
691 { (yyval.opval) = (ps[(1) - (2)].val.opval); }
0de566d7
DM
692 break;
693
30d9c59b 694 case 100:
b5bbe64a 695#line 621 "perly.y"
f05e27e5 696 {
1654d593 697 OP* term = (ps[(3) - (3)].val.opval);
2fcb4757 698 (yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
8c74b414 699 }
0de566d7
DM
700 break;
701
b5bbe64a
JH
702 case 102:
703#line 630 "perly.y"
704 { (yyval.opval) = convert((ps[(1) - (3)].val.ival), OPf_STACKED,
705 op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (3)].val.ival),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
8c74b414 706 }
0de566d7
DM
707 break;
708
b5bbe64a
JH
709 case 103:
710#line 634 "perly.y"
711 { (yyval.opval) = convert((ps[(1) - (5)].val.ival), OPf_STACKED,
712 op_prepend_elem(OP_LIST, newGVREF((ps[(1) - (5)].val.ival),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
8c74b414 713 }
0de566d7
DM
714 break;
715
b5bbe64a
JH
716 case 104:
717#line 638 "perly.y"
9a9798c2 718 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
719 op_append_elem(OP_LIST,
720 op_prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
1654d593 721 newUNOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
8c74b414 722 }
0de566d7
DM
723 break;
724
b5bbe64a
JH
725 case 105:
726#line 644 "perly.y"
9a9798c2 727 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
2fcb4757 728 op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
1654d593 729 newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
8c74b414 730 }
0de566d7
DM
731 break;
732
b5bbe64a
JH
733 case 106:
734#line 649 "perly.y"
f05e27e5 735 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
736 op_append_elem(OP_LIST,
737 op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
1654d593 738 newUNOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
8c74b414 739 }
0de566d7
DM
740 break;
741
b5bbe64a
JH
742 case 107:
743#line 655 "perly.y"
f05e27e5 744 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
745 op_append_elem(OP_LIST,
746 op_prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
1654d593 747 newUNOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
8c74b414 748 }
0de566d7
DM
749 break;
750
b5bbe64a
JH
751 case 108:
752#line 661 "perly.y"
753 { (yyval.opval) = convert((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
0de566d7
DM
754 break;
755
b5bbe64a
JH
756 case 109:
757#line 663 "perly.y"
758 { (yyval.opval) = convert((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); }
0de566d7
DM
759 break;
760
b5bbe64a
JH
761 case 110:
762#line 665 "perly.y"
5a5094bd 763 { SvREFCNT_inc_simple_void(PL_compcv);
8c74b414 764 (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); }
0de566d7
DM
765 break;
766
b5bbe64a
JH
767 case 111:
768#line 668 "perly.y"
f05e27e5 769 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757
Z
770 op_append_elem(OP_LIST,
771 op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
8c74b414 772 }
0de566d7
DM
773 break;
774
b5bbe64a
JH
775 case 114:
776#line 683 "perly.y"
1654d593 777 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval)));
53a7735b 778 PL_parser->expect = XOPERATOR;
8c74b414 779 }
0de566d7
DM
780 break;
781
b5bbe64a
JH
782 case 115:
783#line 687 "perly.y"
1654d593 784 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
8c74b414 785 }
0de566d7
DM
786 break;
787
b5bbe64a
JH
788 case 116:
789#line 690 "perly.y"
f05e27e5 790 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593
DM
791 ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
792 scalar((ps[(4) - (5)].val.opval)));
8c74b414 793 }
0de566d7
DM
794 break;
795
b5bbe64a
JH
796 case 117:
797#line 695 "perly.y"
f05e27e5 798 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593
DM
799 ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
800 scalar((ps[(3) - (4)].val.opval)));
8c74b414 801 }
0de566d7
DM
802 break;
803
b5bbe64a
JH
804 case 118:
805#line 700 "perly.y"
1654d593 806 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
53a7735b 807 PL_parser->expect = XOPERATOR;
8c74b414 808 }
0de566d7
DM
809 break;
810
b5bbe64a
JH
811 case 119:
812#line 704 "perly.y"
f05e27e5 813 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593
DM
814 ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
815 jmaybe((ps[(4) - (6)].val.opval)));
53a7735b 816 PL_parser->expect = XOPERATOR;
8c74b414 817 }
0de566d7
DM
818 break;
819
b5bbe64a
JH
820 case 120:
821#line 710 "perly.y"
f05e27e5 822 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593
DM
823 ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
824 jmaybe((ps[(3) - (5)].val.opval)));
53a7735b 825 PL_parser->expect = XOPERATOR;
8c74b414 826 }
0de566d7
DM
827 break;
828
b5bbe64a
JH
829 case 121:
830#line 716 "perly.y"
831 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
832 newCVREF(0, scalar((ps[(1) - (4)].val.opval)))); }
833 break;
834
30d9c59b 835 case 122:
b5bbe64a 836#line 719 "perly.y"
9a9798c2 837 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
b5bbe64a
JH
838 op_append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
839 newCVREF(0, scalar((ps[(1) - (5)].val.opval))))); }
0de566d7
DM
840 break;
841
30d9c59b 842 case 123:
b5bbe64a 843#line 724 "perly.y"
9a9798c2 844 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
b5bbe64a
JH
845 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
846 newCVREF(0, scalar((ps[(1) - (4)].val.opval))))); }
0de566d7
DM
847 break;
848
30d9c59b 849 case 124:
b5bbe64a 850#line 728 "perly.y"
f05e27e5 851 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
b5bbe64a 852 newCVREF(0, scalar((ps[(1) - (3)].val.opval)))); }
0de566d7
DM
853 break;
854
30d9c59b 855 case 125:
b5bbe64a
JH
856#line 731 "perly.y"
857 { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval)); }
0de566d7
DM
858 break;
859
30d9c59b 860 case 126:
b5bbe64a
JH
861#line 733 "perly.y"
862 { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval)); }
0de566d7
DM
863 break;
864
30d9c59b 865 case 127:
b5bbe64a
JH
866#line 735 "perly.y"
867 { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL); }
ea25a9b2
Z
868 break;
869
30d9c59b 870 case 128:
b5bbe64a
JH
871#line 740 "perly.y"
872 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), (ps[(2) - (3)].val.ival), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
873 break;
874
30d9c59b 875 case 129:
b5bbe64a
JH
876#line 742 "perly.y"
877 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
0de566d7
DM
878 break;
879
30d9c59b 880 case 130:
b5bbe64a
JH
881#line 744 "perly.y"
882 { if ((ps[(2) - (3)].val.ival) != OP_REPEAT)
883 scalar((ps[(1) - (3)].val.opval));
884 (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
8c74b414 885 }
0de566d7
DM
886 break;
887
30d9c59b 888 case 131:
b5bbe64a
JH
889#line 749 "perly.y"
890 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
0de566d7
DM
891 break;
892
30d9c59b 893 case 132:
b5bbe64a
JH
894#line 751 "perly.y"
895 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
8d2a5fb4
FC
896 break;
897
30d9c59b 898 case 133:
b5bbe64a
JH
899#line 753 "perly.y"
900 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
0de566d7
DM
901 break;
902
30d9c59b 903 case 134:
b5bbe64a
JH
904#line 755 "perly.y"
905 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
f20dcd76
VP
906 break;
907
30d9c59b 908 case 135:
b5bbe64a
JH
909#line 757 "perly.y"
910 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
4098b6bb
JV
911 break;
912
30d9c59b 913 case 136:
b5bbe64a
JH
914#line 759 "perly.y"
915 { (yyval.opval) = newBINOP((ps[(2) - (3)].val.ival), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
7c70caa5
FC
916 break;
917
30d9c59b 918 case 137:
b5bbe64a
JH
919#line 761 "perly.y"
920 { (yyval.opval) = newRANGE((ps[(2) - (3)].val.ival), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval))); }
764212cf
FC
921 break;
922
30d9c59b 923 case 138:
b5bbe64a
JH
924#line 763 "perly.y"
925 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
926 break;
927
30d9c59b 928 case 139:
b5bbe64a
JH
929#line 765 "perly.y"
930 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
931 break;
932
30d9c59b 933 case 140:
b5bbe64a
JH
934#line 767 "perly.y"
935 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
936 break;
937
30d9c59b 938 case 141:
b5bbe64a
JH
939#line 769 "perly.y"
940 { (yyval.opval) = bind_match((ps[(2) - (3)].val.ival), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval)); }
0de566d7
DM
941 break;
942
30d9c59b 943 case 142:
b5bbe64a
JH
944#line 774 "perly.y"
945 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval))); }
500bedb6
DM
946 break;
947
30d9c59b 948 case 143:
b5bbe64a
JH
949#line 776 "perly.y"
950 { (yyval.opval) = (ps[(2) - (2)].val.opval); }
0de566d7
DM
951 break;
952
30d9c59b 953 case 144:
b5bbe64a
JH
954#line 779 "perly.y"
955 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); }
0de566d7
DM
956 break;
957
30d9c59b 958 case 145:
b5bbe64a
JH
959#line 781 "perly.y"
960 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval))); }
0de566d7
DM
961 break;
962
30d9c59b 963 case 146:
b5bbe64a 964#line 783 "perly.y"
f05e27e5 965 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
b5bbe64a 966 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC)); }
0de566d7
DM
967 break;
968
b5bbe64a
JH
969 case 147:
970#line 786 "perly.y"
f05e27e5 971 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
b5bbe64a 972 op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));}
0de566d7
DM
973 break;
974
b5bbe64a
JH
975 case 148:
976#line 789 "perly.y"
cc624add
FC
977 { (yyval.opval) = convert(OP_JOIN, 0,
978 op_append_elem(
979 OP_LIST,
980 newSVREF(scalar(
981 newSVOP(OP_CONST,0,
982 newSVpvs("\""))
983 )),
984 (ps[(1) - (2)].val.opval)
985 ));
8c74b414 986 }
cc624add
FC
987 break;
988
b5bbe64a
JH
989 case 149:
990#line 800 "perly.y"
f05e27e5 991 { (yyval.opval) = newUNOP(OP_PREINC, 0,
b5bbe64a 992 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC)); }
0de566d7
DM
993 break;
994
b5bbe64a
JH
995 case 150:
996#line 803 "perly.y"
f05e27e5 997 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
b5bbe64a
JH
998 op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC)); }
999 break;
1000
1001 case 151:
1002#line 810 "perly.y"
1003 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval)); }
0de566d7
DM
1004 break;
1005
30d9c59b 1006 case 152:
b5bbe64a
JH
1007#line 812 "perly.y"
1008 { (yyval.opval) = newANONLIST((OP*)NULL);}
0de566d7
DM
1009 break;
1010
30d9c59b 1011 case 153:
b5bbe64a
JH
1012#line 814 "perly.y"
1013 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval)); }
0de566d7
DM
1014 break;
1015
30d9c59b 1016 case 154:
b5bbe64a
JH
1017#line 816 "perly.y"
1018 { (yyval.opval) = newANONHASH((OP*)NULL); }
0de566d7
DM
1019 break;
1020
30d9c59b 1021 case 155:
b5bbe64a
JH
1022#line 818 "perly.y"
1023 { SvREFCNT_inc_simple_void(PL_compcv);
1024 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)); }
9a9798c2
YST
1025 break;
1026
30d9c59b 1027 case 156:
b5bbe64a
JH
1028#line 825 "perly.y"
1029 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), (ps[(1) - (2)].val.ival));}
9a9798c2
YST
1030 break;
1031
30d9c59b 1032 case 157:
b5bbe64a
JH
1033#line 827 "perly.y"
1034 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));}
f05e27e5
DM
1035 break;
1036
b5bbe64a
JH
1037 case 162:
1038#line 835 "perly.y"
1039 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval)); }
0de566d7
DM
1040 break;
1041
30d9c59b 1042 case 163:
b5bbe64a
JH
1043#line 837 "perly.y"
1044 { (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN)); }
0de566d7
DM
1045 break;
1046
30d9c59b 1047 case 164:
b5bbe64a
JH
1048#line 839 "perly.y"
1049 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1050 break;
1051
30d9c59b 1052 case 165:
b5bbe64a
JH
1053#line 841 "perly.y"
1054 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); }
0de566d7
DM
1055 break;
1056
30d9c59b 1057 case 166:
b5bbe64a
JH
1058#line 843 "perly.y"
1059 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); }
0de566d7
DM
1060 break;
1061
30d9c59b 1062 case 167:
b5bbe64a
JH
1063#line 845 "perly.y"
1064 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1065 break;
1066
30d9c59b 1067 case 168:
b5bbe64a
JH
1068#line 847 "perly.y"
1069 { (yyval.opval) = sawparens(newNULLLIST()); }
ea25a9b2
Z
1070 break;
1071
30d9c59b 1072 case 169:
b5bbe64a
JH
1073#line 849 "perly.y"
1074 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1075 break;
1076
30d9c59b 1077 case 170:
b5bbe64a 1078#line 851 "perly.y"
8c74b414 1079 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1080 break;
1081
30d9c59b 1082 case 171:
b5bbe64a 1083#line 853 "perly.y"
8c74b414 1084 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
f20dcd76
VP
1085 break;
1086
30d9c59b 1087 case 172:
b5bbe64a 1088#line 855 "perly.y"
8c74b414 1089 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
8e720305
Z
1090 break;
1091
30d9c59b 1092 case 173:
b5bbe64a 1093#line 857 "perly.y"
8c74b414 1094 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));}
4210d3f1
FC
1095 break;
1096
b5bbe64a
JH
1097 case 174:
1098#line 859 "perly.y"
8c74b414 1099 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
cc624add
FC
1100 break;
1101
b5bbe64a
JH
1102 case 175:
1103#line 861 "perly.y"
2fcb4757 1104 { (yyval.opval) = op_prepend_elem(OP_ASLICE,
f05e27e5
DM
1105 newOP(OP_PUSHMARK, 0),
1106 newLISTOP(OP_ASLICE, 0,
1654d593
DM
1107 list((ps[(3) - (4)].val.opval)),
1108 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
429a2555
FC
1109 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1110 (yyval.opval)->op_private |=
1111 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
8c74b414 1112 }
0de566d7
DM
1113 break;
1114
b5bbe64a
JH
1115 case 176:
1116#line 871 "perly.y"
6dd3e0f2
RZ
1117 { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
1118 newOP(OP_PUSHMARK, 0),
1119 newLISTOP(OP_KVASLICE, 0,
1120 list((ps[(3) - (4)].val.opval)),
1121 ref(oopsAV((ps[(1) - (4)].val.opval)), OP_KVASLICE)));
95a31aad
FC
1122 if ((yyval.opval) && (ps[(1) - (4)].val.opval))
1123 (yyval.opval)->op_private |=
1124 (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
8c74b414 1125 }
6dd3e0f2
RZ
1126 break;
1127
b5bbe64a
JH
1128 case 177:
1129#line 881 "perly.y"
2fcb4757 1130 { (yyval.opval) = op_prepend_elem(OP_HSLICE,
f05e27e5
DM
1131 newOP(OP_PUSHMARK, 0),
1132 newLISTOP(OP_HSLICE, 0,
1654d593
DM
1133 list((ps[(3) - (5)].val.opval)),
1134 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
429a2555
FC
1135 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1136 (yyval.opval)->op_private |=
1137 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
53a7735b 1138 PL_parser->expect = XOPERATOR;
8c74b414 1139 }
0de566d7
DM
1140 break;
1141
b5bbe64a
JH
1142 case 178:
1143#line 892 "perly.y"
5cae3edb
RZ
1144 { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
1145 newOP(OP_PUSHMARK, 0),
1146 newLISTOP(OP_KVHSLICE, 0,
1147 list((ps[(3) - (5)].val.opval)),
1148 ref((ps[(1) - (5)].val.opval), OP_KVHSLICE)));
95a31aad
FC
1149 if ((yyval.opval) && (ps[(1) - (5)].val.opval))
1150 (yyval.opval)->op_private |=
1151 (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
5cae3edb 1152 PL_parser->expect = XOPERATOR;
8c74b414 1153 }
0de566d7
DM
1154 break;
1155
b5bbe64a
JH
1156 case 179:
1157#line 903 "perly.y"
8c74b414 1158 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1159 break;
1160
b5bbe64a
JH
1161 case 180:
1162#line 905 "perly.y"
8c74b414 1163 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); }
5cae3edb
RZ
1164 break;
1165
b5bbe64a
JH
1166 case 181:
1167#line 907 "perly.y"
1654d593 1168 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
8c74b414 1169 }
0de566d7
DM
1170 break;
1171
b5bbe64a
JH
1172 case 182:
1173#line 910 "perly.y"
f05e27e5
DM
1174 {
1175 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1176 op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
8c74b414 1177 }
0de566d7
DM
1178 break;
1179
b5bbe64a
JH
1180 case 183:
1181#line 915 "perly.y"
f05e27e5 1182 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
2fcb4757 1183 op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
8c74b414 1184 }
0de566d7
DM
1185 break;
1186
b5bbe64a
JH
1187 case 184:
1188#line 919 "perly.y"
1189 { (yyval.opval) = newSVREF((ps[(1) - (4)].val.opval)); }
1190 break;
1191
30d9c59b 1192 case 185:
b5bbe64a
JH
1193#line 921 "perly.y"
1194 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); }
89f35911
FC
1195 break;
1196
30d9c59b 1197 case 186:
b5bbe64a
JH
1198#line 923 "perly.y"
1199 { (yyval.opval) = newHVREF((ps[(1) - (4)].val.opval)); }
89f35911
FC
1200 break;
1201
30d9c59b 1202 case 187:
b5bbe64a
JH
1203#line 925 "perly.y"
1204 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
1205 scalar(newCVREF((ps[(3) - (4)].val.ival),(ps[(1) - (4)].val.opval)))); }
89f35911
FC
1206 break;
1207
30d9c59b 1208 case 188:
b5bbe64a
JH
1209#line 928 "perly.y"
1210 { (yyval.opval) = newGVREF(0,(ps[(1) - (4)].val.opval)); }
89f35911
FC
1211 break;
1212
30d9c59b 1213 case 189:
b5bbe64a
JH
1214#line 930 "perly.y"
1215 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), OPf_SPECIAL);
1216 PL_hints |= HINT_BLOCK_SCOPE; }
89f35911
FC
1217 break;
1218
30d9c59b 1219 case 190:
b5bbe64a
JH
1220#line 933 "perly.y"
1221 { (yyval.opval) = newLOOPEX((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); }
0de566d7
DM
1222 break;
1223
30d9c59b 1224 case 191:
b5bbe64a
JH
1225#line 935 "perly.y"
1226 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval))); }
0de566d7
DM
1227 break;
1228
30d9c59b 1229 case 192:
b5bbe64a
JH
1230#line 937 "perly.y"
1231 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); }
0de566d7
DM
1232 break;
1233
30d9c59b 1234 case 193:
b5bbe64a
JH
1235#line 939 "perly.y"
1236 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
0de566d7
DM
1237 break;
1238
30d9c59b 1239 case 194:
b5bbe64a
JH
1240#line 941 "perly.y"
1241 { (yyval.opval) = newUNOP((ps[(1) - (2)].val.ival), 0, (ps[(2) - (2)].val.opval)); }
0de566d7
DM
1242 break;
1243
30d9c59b 1244 case 195:
b5bbe64a
JH
1245#line 943 "perly.y"
1246 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.ival) ? OPf_SPECIAL : 0); }
0de566d7
DM
1247 break;
1248
30d9c59b 1249 case 196:
b5bbe64a
JH
1250#line 945 "perly.y"
1251 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.ival) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval)); }
0de566d7
DM
1252 break;
1253
30d9c59b 1254 case 197:
b5bbe64a
JH
1255#line 947 "perly.y"
1256 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
0de566d7
DM
1257 break;
1258
30d9c59b 1259 case 198:
b5bbe64a
JH
1260#line 949 "perly.y"
1261 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1262 op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); }
9eb5c532
Z
1263 break;
1264
30d9c59b 1265 case 199:
b5bbe64a
JH
1266#line 952 "perly.y"
1267 { (yyval.opval) = newOP((ps[(1) - (1)].val.ival), 0); }
0de566d7
DM
1268 break;
1269
30d9c59b 1270 case 200:
b5bbe64a
JH
1271#line 954 "perly.y"
1272 { (yyval.opval) = newOP((ps[(1) - (3)].val.ival), 0);}
0de566d7
DM
1273 break;
1274
30d9c59b 1275 case 201:
b5bbe64a
JH
1276#line 956 "perly.y"
1277 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
0de566d7
DM
1278 break;
1279
30d9c59b 1280 case 202:
b5bbe64a
JH
1281#line 958 "perly.y"
1282 { (yyval.opval) = (ps[(1) - (3)].val.opval); }
7eb971ee
FC
1283 break;
1284
30d9c59b 1285 case 203:
b5bbe64a
JH
1286#line 960 "perly.y"
1287 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
7eb971ee
FC
1288 break;
1289
30d9c59b 1290 case 204:
b5bbe64a
JH
1291#line 962 "perly.y"
1292 { (yyval.opval) = ((ps[(1) - (3)].val.ival) == OP_NOT)
1293 ? newUNOP((ps[(1) - (3)].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1294 : newOP((ps[(1) - (3)].val.ival), OPf_SPECIAL); }
0de566d7
DM
1295 break;
1296
30d9c59b 1297 case 205:
b5bbe64a
JH
1298#line 966 "perly.y"
1299 { (yyval.opval) = newUNOP((ps[(1) - (4)].val.ival), 0, (ps[(3) - (4)].val.opval)); }
0de566d7
DM
1300 break;
1301
30d9c59b 1302 case 206:
b5bbe64a 1303#line 968 "perly.y"
d63c20f2
DM
1304 {
1305 if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
1306 && (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
1307 && (((PMOP*)(ps[(1) - (1)].val.opval))->op_pmflags & PMf_HAS_CV))
1308 {
1309 (yyval.ival) = start_subparse(FALSE, CVf_ANON);
1310 SAVEFREESV(PL_compcv);
1311 } else
1312 (yyval.ival) = 0;
8c74b414 1313 }
d63c20f2
DM
1314 break;
1315
b5bbe64a
JH
1316 case 207:
1317#line 979 "perly.y"
1318 { (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival)); }
0de566d7
DM
1319 break;
1320
b5bbe64a
JH
1321 case 210:
1322#line 983 "perly.y"
be25f609 1323 {
1324 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
1325 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
8c74b414 1326 }
be25f609 1327 break;
1328
b5bbe64a
JH
1329 case 212:
1330#line 992 "perly.y"
1331 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval)); }
1332 break;
1333
30d9c59b 1334 case 213:
b5bbe64a
JH
1335#line 994 "perly.y"
1336 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),(ps[(1) - (2)].val.ival)); }
0de566d7
DM
1337 break;
1338
30d9c59b 1339 case 214:
b5bbe64a
JH
1340#line 999 "perly.y"
1341 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval)); }
0de566d7
DM
1342 break;
1343
30d9c59b 1344 case 215:
b5bbe64a
JH
1345#line 1001 "perly.y"
1346 { (yyval.opval) = sawparens(newNULLLIST()); }
0de566d7
DM
1347 break;
1348
30d9c59b 1349 case 216:
b5bbe64a
JH
1350#line 1004 "perly.y"
1351 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
4098b6bb
JV
1352 break;
1353
30d9c59b 1354 case 217:
b5bbe64a 1355#line 1006 "perly.y"
8c74b414 1356 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
ea25a9b2
Z
1357 break;
1358
30d9c59b 1359 case 218:
b5bbe64a 1360#line 1008 "perly.y"
8c74b414 1361 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
d63c20f2
DM
1362 break;
1363
30d9c59b 1364 case 219:
b5bbe64a
JH
1365#line 1013 "perly.y"
1366 { (yyval.opval) = (OP*)NULL; }
7c70caa5
FC
1367 break;
1368
30d9c59b 1369 case 220:
b5bbe64a
JH
1370#line 1015 "perly.y"
1371 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
764212cf
FC
1372 break;
1373
30d9c59b 1374 case 221:
b5bbe64a
JH
1375#line 1019 "perly.y"
1376 { (yyval.opval) = (OP*)NULL; }
4210d3f1
FC
1377 break;
1378
30d9c59b 1379 case 222:
b5bbe64a
JH
1380#line 1021 "perly.y"
1381 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
5cae3edb
RZ
1382 break;
1383
30d9c59b 1384 case 223:
b5bbe64a
JH
1385#line 1027 "perly.y"
1386 { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
6dd3e0f2
RZ
1387 break;
1388
30d9c59b 1389 case 224:
b5bbe64a
JH
1390#line 1031 "perly.y"
1391 { (yyval.opval) = newCVREF((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval)); }
cc624add
FC
1392 break;
1393
30d9c59b 1394 case 225:
b5bbe64a
JH
1395#line 1035 "perly.y"
1396 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval)); }
0de566d7
DM
1397 break;
1398
30d9c59b 1399 case 226:
b5bbe64a
JH
1400#line 1039 "perly.y"
1401 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1402 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
8c74b414 1403 }
0de566d7
DM
1404 break;
1405
30d9c59b 1406 case 227:
b5bbe64a
JH
1407#line 1045 "perly.y"
1408 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
1409 if ((yyval.opval)) (yyval.opval)->op_private |= (ps[(1) - (2)].val.ival);
8c74b414 1410 }
0de566d7
DM
1411 break;
1412
30d9c59b 1413 case 228:
b5bbe64a
JH
1414#line 1051 "perly.y"
1415 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval)); }
500bedb6
DM
1416 break;
1417
30d9c59b 1418 case 229:
b5bbe64a
JH
1419#line 1053 "perly.y"
1420 { (yyval.opval) = newAVREF((ps[(1) - (4)].val.opval)); }
a72a1c8b
RGS
1421 break;
1422
30d9c59b 1423 case 230:
b5bbe64a
JH
1424#line 1057 "perly.y"
1425 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval)); }
ff25e5db
FC
1426 break;
1427
b5bbe64a
JH
1428 case 232:
1429#line 1062 "perly.y"
1430 { (yyval.opval) = newAVREF((ps[(1) - (3)].val.opval)); }
503de470
DM
1431 break;
1432
b5bbe64a
JH
1433 case 234:
1434#line 1067 "perly.y"
1435 { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval)); }
89f35911
FC
1436 break;
1437
b5bbe64a
JH
1438 case 236:
1439#line 1072 "perly.y"
1440 { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval)); }
76eba8ab
FC
1441 break;
1442
30d9c59b 1443 case 237:
b5bbe64a
JH
1444#line 1077 "perly.y"
1445 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
89f35911
FC
1446 break;
1447
30d9c59b 1448 case 238:
b5bbe64a 1449#line 1079 "perly.y"
8c74b414 1450 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
3cd0a11a
RGS
1451 break;
1452
30d9c59b 1453 case 239:
b5bbe64a 1454#line 1081 "perly.y"
8c74b414 1455 { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); }
f05e27e5
DM
1456 break;
1457
b5bbe64a
JH
1458 case 240:
1459#line 1084 "perly.y"
8c74b414 1460 { (yyval.opval) = (ps[(1) - (1)].val.opval); }
5cae3edb 1461 break;
fb602e32 1462
20515881 1463 default: break;
0de566d7 1464
e8fb9efb 1465
c24c946d 1466/* Generated from:
b5bbe64a
JH
1467 * 7e6c275bbd1dbc800c205a8a8b0cd785e4859f94976ee7372149598471f16f81 perly.y
1468 * d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
c24c946d 1469 * ex: set ro: */