class X::Placeholder::Mainline is X::Placeholder::Block { }

当占位符变量在主线中使用时抛出,即在任何显式块之外。

例如

$^x;

使用

===SORRY!===
Cannot use placeholder parameter $^x outside of a sub or block

请注意,当您认为某些内容是一个块,但它实际上是一个 后缀环绕符:<{ }> 时,也可能发生此错误,例如

my %h;
say %h{ $^x };
#     ^^^^^^^  not a block, so $^x is part of the mainline