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

时间:2017-07-20 23:46:19

标签: perl6 rakudo

dd例程是Rakudo特有的功能,但这是我的问题的附带内容。在程序中是否有办法检查实现并挽救它是否是正确的?我必须自己做这个吗?

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

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

我根本不想创建特定于实现的程序,但我可以想象一个实现具有特定怪癖和与程序不兼容的错误的情况。因为,你知道,那几年是Java(请记住MRJ?)。

1 个答案:

答案 0 :(得分:6)

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

    packagingOptions {
    pickFirst 'META-INF/DEPENDENCIES.txt'
    pickFirst 'META-INF/LICENSE.txt'
    pickFirst 'META-INF/NOTICE.txt'
    pickFirst 'META-INF/NOTICE'
    pickFirst 'META-INF/LICENSE'
    pickFirst 'META-INF/DEPENDENCIES'
    pickFirst 'META-INF/notice.txt'
    pickFirst 'META-INF/license.txt'
    pickFirst 'META-INF/dependencies.txt'
    pickFirst 'META-INF/LGPL2.1'
}

应该足够了。