42得票11回答
我应该先学习Perl 5面向对象编程还是Moose?

我在Perl编程方面还是比较新手,但我知道Perl 5面向对象编程的基本原理。然而,我从未使用过Perl 5 OO创建任何项目,所以我很确定会遇到许多问题。 最近我发现了Moose模块的热度。我查看了一些CPAN文档,发现它非常有趣,并且对开发人员非常有帮助。此外,它似乎非常稳定可靠。 您...

31得票3回答
能否有人解释一下Perl中的(my $self = shift)是什么意思?

我很难理解OO Perl和my $self = shift;的交集。这些单独元素的文档都很棒,但我找到的任何内容都没有涉及它们如何一起工作。 我一直在使用Moose制作带有属性的模块,在模块内引用该模块的属性当然很有用。我一遍又一遍地被告知在子例程中使用my $self = shift;将模...

23得票3回答
如何使Mason2变成UTF-8格式?

重新阐述问题,因为: @optional 有人问我 问题不够清晰,并且给出了一个基于HTML::Mason的解决方案四个简单步骤使Mason与Apache、mod_perl和DBI兼容,引起了混淆 原始问题已经有4年历史,在此期间(2012年)创建了“诗人(Poet)” 评论:这个问题...

21得票2回答
Moose中的角色和特质有什么区别?

我编写了一组类和接口,这些类和接口在Moose中也使用了角色。我不明白的是Moose traits和roles在使用和实现上的确切区别。 Moose文档指出: “理解角色和traits是很重要的。一个role可以被用作trait,而一个trait是一个role。唯一区分两者的是trait以...

20得票4回答
在Moose中,我如何修改属性,使其在任何时候被设置时都能被修改?

如果您有一个需要在每次设置时修改的属性,除了像这个例子中所做的那样编写访问器并直接处理$self的内容,还有其他简洁的方法吗?package Foo; use Moose; has 'bar' => ( isa => 'Str', reader => 'ge...

19得票5回答
如何创建内部(私有)的Moose对象变量(属性)?

我希望一些属性(也许这不是上下文中正确的术语)是私有的,也就是说,只能在对象内部使用 - 从外部无法读取或写入。 例如,考虑一些内部变量,它计算调用一组方法的次数。 我应该在哪里以及如何定义这样的变量?

19得票5回答
现代Perl——准备好运行的应用程序——通过示例学习——从哪里开始?

我正在学习现代Perl - Moose、Plack等。在很多建议中,你可以读到“通过实例学习”,所以开始搜索一些用现代Perl编写的可直接运行的应用程序。 浏览了很多页面,如: https://www.socialtext.net/perl5/applications https://w...

19得票5回答
"现代"Perl入门资源

听说了Perl生态系统的新组件,如Moose、DeclareX和Catalyst,我想看看Perl。不幸的是,我能找到的所有入门材料都面向Perl 5.8或5.6,并且对这些新框架一无所知,更别提在最近的Perl版本中引入的功能,例如~~运算符。有哪些资源适合那些对Perl感兴趣且想要从头开始...

19得票9回答
检查Perl函数参数是否值得?

关于MooseX::Method::Signatures和早期的模块Params::Validate,有很多关注,它们都设计用于对方法或函数的每个参数进行类型检查。我正在考虑在我的所有未来Perl代码中使用前者,包括个人和工作场所。但我不确定这是否值得努力。 我想到了之前看到(和编写的)没有...

18得票4回答
Perl::Critic:摆脱 Moose 后的生活?

我已经开始将一个项目转换为Moose,第一件事就是注意到我的critic/tidy测试无法通过。Moose、Tidy和Critic似乎不再像以前那样彼此喜欢了。 有没有文档介绍如何使critic/tidy更好地支持Moose方言?大多数Moose用户做什么? 放松/放弃对更复杂的Moose模...