There is no
$@ in Perl 6; all errors are unified into the
$! object, which can hold all the info it needs to. And in general, those few remaining punctuational variables are all lexically scoped.
But what I meant was that you don't have to remember that names like STDIN and ARGV are the same symbol in every package. Those are now spelled $*IN and @*ARGS, where the * indicates true global scope; or perhaps just membership in the GLOBAL package, which as you point out arguably means there are no true globals.