@@ -2199,13 +2199,13 @@ grammar P6 is STD {
2199
2199
}
2200
2200
2201
2201
token special_variable :sym <$~ > {
2202
- <sym > <! before \w | '( ' >
2202
+ <sym > <? before \h * '= ' >
2203
2203
<.obs (' $~ variable' , ' Form module' )>
2204
2204
}
2205
2205
2206
2206
token special_variable :sym <$` > {
2207
2207
<sym >
2208
- <.obs (' $` variable' , ' explicit pattern before <( ' )>
2208
+ <.obs (' $` variable' , ' $/.prematch ' )>
2209
2209
}
2210
2210
2211
2211
token special_variable :sym <$@ > {
@@ -2225,7 +2225,7 @@ grammar P6 is STD {
2225
2225
<.obs (' $$ variable' , ' $*PID' )>
2226
2226
}
2227
2227
token special_variable :sym <$% > {
2228
- <sym > <! before \w | '(' | < sigil > >
2228
+ <sym > <? before \h * '=' >
2229
2229
<.obs (' $% variable' , ' Form module' )>
2230
2230
}
2231
2231
@@ -2236,7 +2236,7 @@ grammar P6 is STD {
2236
2236
}
2237
2237
2238
2238
token special_variable :sym <$^ > {
2239
- <sym > <! before \w >
2239
+ <sym > <? before \h * '=' >
2240
2240
<.obs (' $^ variable' , ' Form module' )>
2241
2241
}
2242
2242
@@ -2246,22 +2246,12 @@ grammar P6 is STD {
2246
2246
}
2247
2247
2248
2248
token special_variable :sym <$* > {
2249
- <sym > <! before \w | '(' >
2249
+ <sym > <? before \h * '=' >
2250
2250
<.obs (' $* variable' , ' ^^ and $$' )>
2251
2251
}
2252
2252
2253
- token special_variable :sym <$) > {
2254
- <sym > <?{ $ * GOAL ne ' )' }>
2255
- <.obs (' $) variable' , ' $*EGID' )>
2256
- }
2257
-
2258
- token special_variable :sym <$- > {
2259
- <sym > <!{ $ * IN_DECL }>
2260
- <.obs (' $- variable' , ' Form module' )>
2261
- }
2262
-
2263
2253
token special_variable :sym <$= > {
2264
- <sym > <! before \w | '(' > <!{ $ * IN_DECL } >
2254
+ <sym > <? before \h + '=' >
2265
2255
<.obs (' $= variable' , ' Form module' )>
2266
2256
}
2267
2257
@@ -2315,11 +2305,6 @@ grammar P6 is STD {
2315
2305
<.obs (' %- variable' , ' .from method' )>
2316
2306
}
2317
2307
2318
- token special_variable :sym <$+ > {
2319
- <sym > :: <? before \s | ',' | <terminator > > <!{ $ * IN_DECL }>
2320
- <.obs (' $+ variable' , ' Form module' )>
2321
- }
2322
-
2323
2308
token special_variable :sym <${^ } > {
2324
2309
<sigil > '{^' :: $ < text > =[.*? ] '}'
2325
2310
<.obscaret ($ < sigil > . Str ~ ' {^' ~ $ < text > . Str ~ ' }' , $ < sigil > . Str , $ < text > . Str )>
@@ -2393,61 +2378,41 @@ grammar P6 is STD {
2393
2378
} # always fails, don't need curlycheck here
2394
2379
}
2395
2380
2396
- token special_variable :sym <$[ > {
2397
- <sym > <!{ $ * IN_DECL }>
2398
- <.obs (' $[ variable' , ' user-defined array indices' )>
2399
- }
2400
-
2401
- token special_variable :sym <$] > {
2402
- <sym >
2403
- <.obs (' $] variable' , ' $*PERL_VERSION' )>
2404
- }
2405
-
2406
2381
token special_variable :sym <$ \\> {
2407
2382
<sym > <!{ $ * IN_DECL }>
2408
2383
<.obs (' $\\ variable' , " the filehandle's :ors attribute" )>
2409
2384
}
2410
2385
2411
2386
token special_variable :sym <$| > {
2412
- <sym >
2387
+ <sym > < ? before \h * '=' >
2413
2388
<.obs (' $| variable' , ' :autoflush on open' )>
2414
2389
}
2415
2390
2416
2391
token special_variable :sym <$: > {
2417
- <sym > <! before \w >
2392
+ <sym > <? before \h * '=' >
2418
2393
<.obs (' $: variable' , ' Form module' )>
2419
2394
}
2420
2395
2421
2396
token special_variable :sym <$; > {
2422
- <sym > <!{ $ * IN_DECL } >
2397
+ <sym > <? before \h * '=' >
2423
2398
<.obs (' $; variable' , ' real multidimensional hashes' )>
2424
2399
}
2425
2400
2426
2401
token special_variable :sym <$' > { # '
2427
2402
<sym > <!{ $ * QSIGIL }>
2428
- <.obs (' $' ~ " '" ~ ' variable' , " explicit pattern after )\x3E " )>
2403
+ <.obs (' $' ~ " '" ~ ' variable' , ' $/.postmatch ' )>
2429
2404
}
2430
2405
2431
2406
token special_variable :sym <$" > {
2432
- <sym > <!{ $ * QSIGIL } >
2407
+ <sym > <? before \h * '=' >
2433
2408
<.obs (' $" variable' , ' .join() method' )>
2434
2409
}
2435
2410
2436
2411
token special_variable :sym <$, > {
2437
- <sym > <? before \h * < [ = , ; ? : ! ) \] } ] > >
2412
+ <sym > <? before \h * '=' >
2438
2413
<.obs (' $, variable' , " .join() method" )>
2439
2414
}
2440
2415
2441
- token special_variable :sym [' $<'] {
2442
- <sym > <?before \h* <[ = , ; ? : ! ) \] } ] > <!before \S* '>' > >
2443
- <.obs('$< variable', '$*UID') >
2444
- }
2445
-
2446
- token special_variable :sym «\$> » {
2447
- <sym >
2448
- <.obs (' $> variable' , ' $*EUID' )>
2449
- }
2450
-
2451
2416
token special_variable :sym <$. > {
2452
2417
<sym > <! before \w | '(' >
2453
2418
<.obs (' $. variable' , " the filehandle's .line method" )>
@@ -2498,15 +2463,7 @@ grammar P6 is STD {
2498
2463
# Note: $() can also parse as contextualizer in an expression; should have same effect
2499
2464
| <sigil > <? before '<' > <postcircumfix > [<?{ $ * IN_DECL }> <.panic : "Cannot declare a match variable" >]?
2500
2465
| :dba ('contextualizer' ) <sigil > '(' ~ ')' <semilist > { $ * LEFTSIGIL ||= $ < sigil > . Str } <O (| % term )> [<?{ $ * IN_DECL }> <.panic : "Cannot declare a contextualizer" >]?
2501
- | <sigil > <?{ $ * IN_DECL }>
2502
- | <?> {
2503
- if $ * QSIGIL {
2504
- return ();
2505
- }
2506
- else {
2507
- $¢. sorry(" Non-declarative sigil is missing its name" );
2508
- }
2509
- }
2466
+ | <sigil >
2510
2467
]
2511
2468
]
2512
2469
0 commit comments