加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何使用Perl 6中的Perl 5模块?

发布时间:2020-12-15 21:33:09 所属栏目:大数据 来源:网络整理
导读:是使用来自Rakudo Perl 6的CPAN的Perl 5模块的一种方法吗? 例如,如何在Perl 6中使用尚未移植的可靠的Perl 5模块CGI. 更新: 还有一些早期的Perl 6模块的这个时髦的代码呢? use CGI:fromperl5; 是否使用“:from”指令来唤起某种Perl 5兼容性层.似乎找不到
是使用来自Rakudo Perl 6的CPAN的Perl 5模块的一种方法吗?

例如,如何在Perl 6中使用尚未移植的可靠的Perl 5模块CGI.

更新:

还有一些早期的Perl 6模块的这个时髦的代码呢?

use CGI:from<perl5>;

是否使用“:from”指令来唤起某种Perl 5兼容性层.似乎找不到任何关于它的文件.

解决方法

内嵌:: Perl5的

从http://modules.perl6.org/获取

panda install Inline::Perl5

以下示例显示如何从Perl 6导入和调用Perl 5模块Text :: Unidecode,“最后的Unicode音译”.

如果没有,请安装模块

perl -MCPAN -e "install Text::Unidecode"

现在的代码

use Inline::Perl5;
use Text::Unidecode:from<Perl5>;
my $result = Text::Unidecode::unidecode('Solidarno??');
say($result);

或者,更灵活的方法是自己导入Inline :: Perl5,创建一个新的上下文并在该上下文中评估函数调用

use Inline::Perl5;
my $p5 = Inline::Perl5.new;
$p5.use('Text::Unidecode');

my $result = $p5.call('Text::Unidecode::unidecode','Solidarno??');
say($result);

无论如何,这打印

./perl6-m ~/perl/usefrom5.pl 
Solidarnosc

更多的概述可在Readme on Github

历史观

此前,还有另外两个互操作性项目.使用v5和项目blizkost. V5仍然有效. Blizkost现在完全无关紧要.

使用v5

panda install v5

截至2014年底,v5不会在Rakudo JVM下编译.它根据Rakudo在MoarVM上编译(它也不会在ParrotVM上的Rakudo下编译).

blizkost

几年前的努力,将Perl 5带到ParotVM上,并使用虚拟机提供互操作性.由于这是一个VM特定的解决方案,所以它已被放弃,支持Inline :: Perl5.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读