您在Perl工具箱中保留了什么?

时间:2009-03-02 17:57:29

标签: perl module

我是一名Perl开发人员,并且倾向于使用我用于几乎所有内容的特定模块套件。我主要构建面向GIS和数据库的Web应用程序,用于报告和数据输入等。

我很好奇其他Perl开发人员定期使用的模块组。

矿:

  • CGI
  • DBI
  • Spreadsheet :: WriteExcel
  • Spreadsheet :: ParseExcel
  • HTML :: Template
  • Text :: Template
  • PDF ::模板
  • PDF :: API2
  • Geo :: Shapefile
  • LWP ::简单
  • XML ::简单

14 个答案:

答案 0 :(得分:13)

检查最近的东西,这是我经常看到的:

  • Getopt::LongPod::Usage使选项和手册变得轻而易举
  • File::Find因为我终于明白了,而且我想要使用File::Find::Rule代替,我一直忘了
  • Data::Dumper - 又名,你从未知道的最好的调试器
  • Carp弄清楚我做错了什么
  • Storable当适当的数据库太多时
  • POSIX,但几乎只有strftime
  • App::Ack - 我几乎忘了它,因为我经常使用它,但在Perl中没有那么多,而不是在命令行上使用Grep。

答案 1 :(得分:9)

脱离我的头顶:

我可能错过了一些明显的问题。

答案 2 :(得分:8)

以下是三个很好的资料来源:

答案 3 :(得分:5)

答案 4 :(得分:4)

答案 5 :(得分:3)

我有一段时间没有使用Perl(对不起,我的雇主使用Java和C#的混合),但我记得使用以下相当多的(按字母顺序排列):

(你可能会注意到那里的非框架webapp模块的重点......)

答案 6 :(得分:3)

我最常见的模块可能是

我不确定它是否算作“工具”,但我倾向于以大多数功能性的方式编写我的程序。我尝试只分配给每个变量一次,并尝试避免修改其参数的子程序。我通常更喜欢循环中的“grep”或“map”。此规则的最大例外是我正在构建返回值。我可能会把事情推到数组的末尾,或者将项目添加到循环中的哈希值。

答案 7 :(得分:2)

我使用DBIx :: Simple而不是普通的DBI,界面更简单,更经常。当然,还有XML :: Twig for XML处理。然后Getopt :: Std用于(简单)选项,YAML :: Syck用于不需要DB的临时存储,以及调试,而不是Data :: Dumper。并且,像你一样,Text :: Template用于最复杂的输出。

答案 8 :(得分:2)

不计算所有模块开发和测试工具链的东西,我完成工作的工具箱包括:

螺母和螺栓:

手工具:

电动工具:

答案 9 :(得分:1)

我很惊讶没有人提到Data :: Dumper,我倾向于在我的脚本中留下use声明,因为我知道它对维护调试很有用。

答案 10 :(得分:1)

我经常使用这些,其中许多可以追溯到10年。

CPAN 模块当然是我们有时会忘记的最佳模块之一,因为它会逐渐消失。可以这么说,这是一个元模块。

下面的顶级组出现在我们的newperl脚本的输出中,该脚本提供了最佳实践的工作示例。生成的perl脚本在基本调试时实现了一些基本要求和提示,因此perl新手可以使用真实设计养成良好的习惯。我们也有一个类似的newperlmod

前两个更像是编译指示,因为它们真正涉及内置语言的本质。

数据收集工具箱 - 更专业化

最近的一项发现是维护的福音。用于输出配置和批处理文件,例如

答案 11 :(得分:1)

净:: FTP。我的大部分工作都是将文件从一个系统中拉出来,操纵它们,然后将它们推送到另一个系统上。

答案 12 :(得分:1)

  • CGI :: Application :: Dispatch(因此也是CGI :: Application)
  • CGI ::快速
  • DBIx ::类
  • 模板工具包
  • DBD :: PG
  • 科罗
  • AnyEvent :: *
  • Gtk2的视觉:: *
  • 配置::一般
  • PDL
  • 杰韦利:: NYTProf
  • 驼鹿(祝它起步更快)

我使用这些开发网络应用和桌面应用。

我注意到很多普通的CGI.pm粉丝在这里,虽然我喜欢CGI :: Application,特别是与C :: A :: D相结合,很多。它仍然非常轻巧,拥有合理数量的插件,一个不错的网站,并不像Catalyst那么慢或重。

答案 13 :(得分:0)

  • Perl6 :: Attributes
  • 正则表达式::通用
  • DBI
  • 数据::自卸车
  • 的Getopt ::龙
  • 的FileHandle
  • Tk的
  • 的Tcl
  • TKX
  • GD
  • 配置::标准
  • 内联

没有Perl6,上面列表中的第一个使模块更具可读性(恕我直言)。