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

ivo*_*lch 4 perl6 perl5

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

简单?硬?不可能?

小智 7

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

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

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


Bar*_*ale 5

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

对于声明子和方法,有Method::Signatures,Sub::SignaturesKavorka.

另请查看Perl6CPAN上的命名空间.