我可以在特定实现下将我的 Perl 6 程序限制为 运行 吗?

Can I limit my Perl 6 program to running under a particular implementation?

dd 例程是 Rakudo 特有的功能,但这对我的问题来说是偶然的。程序内部是否有一种方法可以检查实现并在不正确时退出?我必须自己做吗?

 die "Unsupported VM" unless $*VM ~~ m/^ 'moar' /;

也许我们需要类似 Perl 5 的东西 Devel::AssertOS

我对创建特定于实现的程序完全不感兴趣,但我可以想象这样的情况,即某个实现具有与程序不兼容的特定怪癖和错误。因为,你知道,那是 Java 好几年了(还记得 MRJ 吗?)。

如果你想 运行 你的程序只在 MoarVM 上运行,那么:

BEGIN die "Must run on MoarVM, not $*VM.name()" unless $*VM.name eq 'moar';

应该够了。

更新:根据 Jonathan Worthington

的建议添加了 BEGIN