perl5代码与(忽略)perl6数据类型

时间:2016-08-12 03:12:28

标签: perl6 perl5

我想开始为perl6准备一些perl5代码。特别是,我喜欢声明我的变量应该是什么类型的想法。 perl6定义Bool,Int,Array,Hash,Num,Complex,Pair和Str。所以我本质上想要现在做相当于C预处理器#define Int /**/。如果它会检查数据类型会更好,但我可以没有它。

容易吗?硬?不可能?

2 个答案:

答案 0 :(得分:7)

你必须编写一个可以解析Perl 5的解析器。除非你的代码相当简单,否则在硬度范围上相当高。

另外,我发现我构建的Perl 6程序与Perl 5代码非常不同。在将Perl 5移植到Perl 6时,您可以在技术上保持非常接近1:1的顺序,但是当您完全切换到Perl 6时,结果将不会惯用,缓慢且难以维护。仅添加空宏将无济于事你很多,因为你犯的每一个错误都被忽略了。当你想要将程序移植好时,这实际上可能会增加负担。

这个想法很有吸引力,但你可能只是增加你的工作量而没有真正的收获。

答案 1 :(得分:5)

有几个Perl 5模块朝这个方向发展。对于面向对象,您可以使用MooseMooseX::Method::Signatures

对于声明子和方法,有Method::SignaturesSub::SignaturesKavorka

另请查看CPAN上的Perl6命名空间。