Essential Perl实用程序模块?

时间:2012-03-18 12:58:04

标签: perl refactoring cpan

我目前正在清理一个较旧的Perl项目。很大一部分是我不久前写的,当时我几乎不知道Perl。我可能会多次重新发明轮子。

现在是我想要丢弃任何重复代码的时间,并且如果可能的话,替换那些已经在高质量CPAN模块中可用的所有内容。

您知道每个Perl开发人员应该注意哪些重要的Perl实用程序模块?

这个问题类似于问题Useful Perl modules,但是我并没有对那里列出的 big 模块(例如DBI,Template等等)感到遗憾。

3 个答案:

答案 0 :(得分:2)

我经常使用这些:

Path::Class用于目录和文件路径操作

Class::Load(用于在运行时加载类)

Try::Tiny(为了方便和正确处理异常)

FindBin::libs等,

Email::Valid用于电子邮件地址验证

另外,Regexp::Common用于普通正则表达式。

答案 1 :(得分:1)

我经常使用::Util模块(包括不是核心的List::MoreUtils)。特别是来自List::Utilreducefirst函数。

我经常使用的另一个是File::chdir。它通过绑定变量提供对工作目录的访问。这允许对每个块的工作目录进行可本地化的更改。我非常喜欢它的界面,我甚至写了Tie::Select,它提供了与select函数类似的接口。

tjmc正确地建议Try::Tiny,这让我想起了Capture::Tiny。该模块捕获几乎所有内容的输出,包括Perl命令,系统调用和XS模块。

答案 2 :(得分:0)

Perl :: Tidy和Perl :: Critic,不是模块本身,而是两个脚本,perltidy和perlcritic。有了这两个,解决一个大项目就容易多了。