{"atom":"regression/perl5var-legal-readings","family":"regression","slug":"perl5var-legal-readings","header":{"atom":"regression/perl5var-legal-readings","kind":"whole-program — a minimal repro, not yet reduced to an atom","source":"curated"},"axes":null,"cols":null,"engines":["rakudo-2026.07","rakupp-3.14.0"],"kinds":["ref","pp"],"defFrom":"rakupp:t/regression/perl5var-legal-readings.raku","counts":{"a":1,"f":0,"d":0,"c":0,"r":0,"n":0},"files":["atoms/regression/perl5var-legal-readings.grid"],"records":[["0001","","# BROKE (guarded, same leg 18): the Perl5Var punctuation-variable checks\n# ($; $. $? %! @- ...) originally threw on sight, which would outlaw the\n# LEGAL readings below; they were narrowed to fire only when directly\n# assigned. This locks the legal set.\nmy $;                       # anonymous scalar declaration\nmy ($a, $, $b) = 1, 2, 3;   # anonymous slot in a list declaration\ndie 'anon list slot broken' unless $a == 1 && $b == 3;\n$ = 5;                      # assignment to the anonymous state var\nclass P { has $.x; has %!h; method m { %!h<k> = $.x; %!h<k> } }\ndie '$.x / %!h attribute forms broken' unless P.new(x => 9).m == 9;\ndie '$?FILE broken' unless $?FILE.IO.basename eq 'perl5var-legal-readings.raku';\nmy @args-probe = (my $r = \\(1)); # $ before ( stays a contextualizer, not an error\ndie 'contextualizer after sigil broken' unless so @args-probe;\nsay 'PASS';","output PASS","a",["PASS","PASS"],0,[["budget","20s"]]]]}