We're back to the behaviour from 2011: $ perl6 -e '$foo:: = 42; say $foo::' 42
$ perl6-m -e 'say $foo::' (Any) But I wonder whether this is really correct. The subject states that 'say $foo::' should not parse and TimToadys remarks sound likewise: > <p6eval> std 31559: OUTPUT«ok 00:01 111m» > <TimToady> I didn't expect that to work :) > <masak> std bug. > * TimToady bug > <TimToady> I'm not entirely sure how it parsed... > <TimToady> oh, morename allows a final :: component, but that's not > quite what you want here > <TimToady> std: $defeat-the-name-checker:: > <p6eval> std 31559: OUTPUT«ok 00:01 108m» $ ./viv -e '$foo::' [...] └─VAST::statementlist, BEG: 0, END: 7 ├─VAST::statement, BEG: 0, END: 7 │ └─VAST::term__S_variable, BEG: 0, END: 6, SYM: variable, _specific: 1 │ └─VAST::variable, BEG: 0, END: 6 │ ├─VAST::sigil__S_Dollar, BEG: 0, END: 1, SYM: $, TEXT: $, _specific: 1 │ └─VAST::desigilname, BEG: 1, END: 6 │ └─VAST::longname, BEG: 1, END: 6 │ └─VAST::name, BEG: 1, END: 6 │ │ └─morename: - !!perl/hash:VAST::morename │ │ BEG: 4 │ │ END: 6 │ │ EXPR: [] │ │ TEXT: '::' │ │ identifier: [] │ └─VAST::identifier, BEG: 1, END: 4, TEXT: foo └─VAST::eat_terminator, BEG: 7, END: 7, TEXT: , WS: 1