perl ###### 入门资料 ======== +-----------------------------------+-----------------------------------+ | 资料 | 简介 | +===================================+===================================+ | Learning Perl | 经典的Perl入门书籍 | +-----------------------------------+-----------------------------------+ | `Perl学习手札 `__ | 文章,特别是附录介绍了常用的模块 | +-----------------------------------+-----------------------------------+ | ` | 代码示例,很好很强大 | | PLEAC-Perl `__ | | +-----------------------------------+-----------------------------------+ | `learn perl6 in y | perl6 简单语法 | | miniutes `__ | | +-----------------------------------+-----------------------------------+ | `PerlFAQ ` | 常见问题 | | __\ ,\ `PerlFaq中文翻译 `__ | | +-----------------------------------+-----------------------------------+ | `Perl | 基础文档 | | DOC `__ | | +-----------------------------------+-----------------------------------+ | `perl | 正则 | | unicode正则匹配 `__ | | +-----------------------------------+-----------------------------------+ 站点 ==== +-----------------------------------+-----------------------------------+ | 站点 | 简介 | +===================================+===================================+ | `All Perl | Perl 书籍列表 | | Bo | | | oks `__ | | +-----------------------------------+-----------------------------------+ | `PerlFAQ ` | 常见问题 | | __\ ,\ `PerlFaq中文翻译 `__ | | +-----------------------------------+-----------------------------------+ | `CPAN `__\ ,\ ` | | | MetaCPAN `__ | | +-----------------------------------+-----------------------------------+ | `PerlMonks `__\ ,\ `Pe | | | rlMongers `__ | | +-----------------------------------+-----------------------------------+ | `comp.lang.perl.misc `__ | | +-----------------------------------+-----------------------------------+ | `Perl-chi | 中文社区 | | naUnix `__\ ,\ `Perlchi | | | na `__ | | +-----------------------------------+-----------------------------------+ 重要书籍 ======== +-------------------------------+---------------+-----------------------+ | 出版时间 | 书籍 | 读后感 | +===============================+===============+=======================+ | 2013 | Mastering | 大牛出品,一定要捧场 | | | Perl | | +-------------------------------+---------------+-----------------------+ | 2012.02 | Programming | 经典,必看 | | | Perl | ,大骆驼书。东西很多 | | | | ,多看几遍很有好处。 | +-------------------------------+---------------+-----------------------+ | 2011.07 | Learning Perl | 经典 | | | | 的Perl入门书籍,小骆 | | | | 驼书。写的超好!!! | +-------------------------------+---------------+-----------------------+ | 2010.04 | Effective | 这本书挺 | | | Perl | 不错的,包含很多常用 | | | Programming | 的技巧,每一条都有实 | | | | 例说明,总体很不错。 | +-------------------------------+---------------+-----------------------+ | 2007 | Mastering | 就是用了之后不知 | | | Regular | 道以前咋过过来的感觉 | | | E | | | | xpressions(精 | | | | 通正则表达式) | | +-------------------------------+---------------+-----------------------+ | 2006.03 | Intermediate | 主要讲面向对象跟 | | | Perl | 模块开发,写得比较清 | | | | 楚,整体读起来很顺。 | | | | 基本上Randal L. | | | | Schwartz大 | | | | 侠写的书都是比较照顾 | | | | 我等小白的,不拽文。 | +-------------------------------+---------------+-----------------------+ | 2005.07 | Perl Best | 大有助于提高 | | | Practices | 编码质量,翻起来也很 | | | ( | 快。注意下面的内容: | | | Perl最佳实践) | 第三章 | | | | 命名惯例、第九章 | | | | 子程序、第十三章 | | | | 错误处理、第十七章 | | | | 模块、第十八章 | | | | 测试和调试,还有 | | | | 几个附录也都很有用。 | +-------------------------------+---------------+-----------------------+ | 2004.03 | Perl Medic : | 讲如何对已有的代 | | | Transforming | 码管理、优化,挺不错 | | | Legacy Code | 的,花1-2天可以K完。 | +-------------------------------+---------------+-----------------------+ | 2003.08 | Perl Cookbook | 不错的手册书,翻 | | | | 上四五天比较好。常见 | | | | 问题基本都有了,就是 | | | | 容易看的烦,慢慢看。 | +-------------------------------+---------------+-----------------------+ 其他书籍 ======== +-------------------------------+---------------+-----------------------+ | 出版时间 | 书籍 | 读后感 | +===============================+===============+=======================+ | 2014 | Modern Perl | 整体还行,花一个 | | | | 晚上读一下也不错。个 | | | | 人感觉,比profession | | | | perl | | | | programmi | | | | ng好一点,比effective | | | | perl | | | | programming差一点。 | +-------------------------------+---------------+-----------------------+ | 2011.07 | Perl Pocket | 手册书,随手翻翻罢了 | | | Reference | | +-------------------------------+---------------+-----------------------+ | 2010.09 | Using Perl6 | 先凑合看 | | | | 看,一时半会也用不上 | +-------------------------------+---------------+-----------------------+ | 2009.05 | Automating | 这本是实用程序示 | | | System | 例的手册,翻一两天就 | | | A | 行了,写的挺仔细的。 | | | dministration | 推荐了一堆模块,需要 | | | with Perl | 的时候可以一一试用。 | | | | 这本是2009年 | | | | 出的第二版。第一版是 | | | | 2000年出的,叫做“Perl | | | | for System | | | | Administration”。。。 | +-------------------------------+---------------+-----------------------+ | 2007.12 | Perl | 没翻 | | | Scripting For | 完,要用的时候再翻吧 | | | Windows | | | | Security | | +-------------------------------+---------------+-----------------------+ | 2006.10 | Minimal Perl | 入门型的书,一个 | | | For UNIX and | 小时差不多可以看完。 | | | Linux People | | +-------------------------------+---------------+-----------------------+ | 2006.02 | Wicked Cool | 看个半天就 | | | Perl Scripts | 行了,给出了一些代码 | | | | 实例,并附解释。第1、 | | | | 6章注意看看,剩下随手 | | | | 翻一遍。总之没啥好玩 | | | | 的,整本书不看也行。 | +-------------------------------+---------------+-----------------------+ | 2005.08 | Pro Perl | 讲数据分析的, | | | Parsing | 感觉还可以,拿一些模 | | | | 块举例了。大概看个半 | | | | 天到一天吧,某些内容 | | | | 如果有用到再详细看。 | +-------------------------------+---------------+-----------------------+ | 2005.07 | Advanced Perl | 黑豹书, | | | Programming | 也是经典,没事就看吧 | | | | 。不过撑到第10章之后 | | | | ,就有点看不下去了。 | +-------------------------------+---------------+-----------------------+ | 2005.07 | Perl Testing | | +-------------------------------+---------------+-----------------------+ | 2005.03 | Higher-Order | 内容比较深入 | | | Perl: | ,看完受益不小,就是 | | | Transforming | 看的时候容易头昏脑胀 | | | Programs with | | | | Programs | | +-------------------------------+---------------+-----------------------+ | 2004.01 | Perl Debugger | 还行吧 | | | Pocket | | | | Reference | | +-------------------------------+---------------+-----------------------+ | 2003.12 | perl template | | | | toolkit | | +-------------------------------+---------------+-----------------------+ | 2003.10 | Spidering | web爬虫程序参考 | | | Hackers | | +-------------------------------+---------------+-----------------------+ | 2003.05 | Perl Regular | 很不错的perl正则参考 | | | Expression | | | | Quick | | | | Reference | | +-------------------------------+---------------+-----------------------+ | 2003 | Extending and | | | | Embedding | | | | Perl | | +-------------------------------+---------------+-----------------------+ | 2002.07 | Perl and LWP | web爬虫程序参考 | +-------------------------------+---------------+-----------------------+ | 2001.10 | Perl Black | 中规中矩的Perl入 | | | Book(Perl | 门参考大全,读完整体 | | | 技术内幕) | 没太深的印象,里面一 | | | | 些表格整理的挺全的。 | +-------------------------------+---------------+-----------------------+ | 2001.01 | Professional | P | | | Perl | erl基础资料书,东西很 | | | Programming | 全,示例代码挺多的, | | | | 当手册翻翻挺不错的。 | +-------------------------------+---------------+-----------------------+ | 2001.01 | Data Munging | 讲数据挖掘的,写得 | | | With Perl | 不错。代码解释的比较 | | | | 清楚,举例也比较实用 | | | | 。大概两天就能看完。 | +-------------------------------+---------------+-----------------------+ | 2001 | Perl Debugged | | +-------------------------------+---------------+-----------------------+ | 2000.12 | Network | 可以看看 | | | Programming | | | | With Perl | | +-------------------------------+---------------+-----------------------+ | 2000.02 | Programming | 手册型 | | | the Perl DBI | 的书,要用的时候翻上 | | | | 一天就差不多了,记不 | | | | 住的时候再去翻来看。 | | | | 书里 | | | | 面的播图不错,一下子 | | | | 就让你看明白意思,:D | +-------------------------------+---------------+-----------------------+ | 2000.01 | Object | 面向对象的各个要 | | | Oriented Perl | 点分章节进行介绍,感 | | | | 觉还可以,翻得很快。 | +-------------------------------+---------------+-----------------------+ | 1997.08 | Learning Perl | Perl的 | | | on Win32 | 基础书,如果之前看过 | | | Systems | 小骆驼书,大概翻2-3小 | | | | 时就行了。注意里面的 | | | | Win32::OLE应用,还有 | | | | 附录列出的Win32模块。 | +-------------------------------+---------------+-----------------------+ | 1997.03 | Web Client | 写的 | | | Programming | 挺好,就是内容挺旧了 | | | With Perl | | +-------------------------------+---------------+-----------------------+ 模块 ==== +-----------------------------------+-----------------------------------+ | 资料 | 地址 | +===================================+===================================+ | Perl Advent Calendar Archivers | http://p | | | erladvent.pm.org/archives-Yd.html | +-----------------------------------+-----------------------------------+ | Great Perl Modules | http://jff | | | .googlecode.com/svn-history/r866/ | | | trunk/Perl/great-perl-modules.txt | +-----------------------------------+-----------------------------------+ | pm.org的Advent | http://perladvent.pm.org | +-----------------------------------+-----------------------------------+ | Colonizing the Lacuna Expanse | http://www | | with Perl | .perl.com/pub/2010/10/colonizing- | | | the-lacuna-expanse-with-perl.html | +-----------------------------------+-----------------------------------+ | MVC | Perl的MVC框架介绍:\ `What is the | | | Perl Web Framework du | | | jour? `__ | +-----------------------------------+-----------------------------------+ ### 重点模块 +-----------------------------------+-----------------------------------+ | 模块 | 用途 | +===================================+===================================+ | ` | 本地perl版本切换 | | perlbrew `__ | | +-----------------------------------+-----------------------------------+ | App::cpanminus | 模块安装工具cpanm,替代cpan | +-----------------------------------+-----------------------------------+ | App::FatPacker | 把依赖模块打包到单个pl文件 | +-----------------------------------+-----------------------------------+ | Bloom::Faster | Bloomfilter 模块 | +-----------------------------------+-----------------------------------+ | Capture::Tiny | 抓STDOUT、STDERR消息,参考 | | | IPC::Open3::Simple | +-----------------------------------+-----------------------------------+ | Chart Director | 画图模块 | +-----------------------------------+-----------------------------------+ | Data::Dump | 打印变量,比Data::Dumper简洁 | +-----------------------------------+-----------------------------------+ | Data::UUID | 生成全球唯一标识符 | +-----------------------------------+-----------------------------------+ | Data::GUID | 生成全球唯一标识符 | +-----------------------------------+-----------------------------------+ | Data::MessagePack | 数据序列化,跨平台 | +-----------------------------------+-----------------------------------+ | Devel::Peek | 查看变量内部构造 | +-----------------------------------+-----------------------------------+ | Dist::Zilla | CPAN模块打包,参考\ `perl-adven | | | t `__ | +-----------------------------------+-----------------------------------+ | Gearman | 任务分发,简单可扩展 | +-----------------------------------+-----------------------------------+ | JSON | JSON数据编解码 | +-----------------------------------+-----------------------------------+ | Log::Any::App | 打日志! | +-----------------------------------+-----------------------------------+ | Marpa::R2 | BNF语法解析器,可以自定义解析模块 | +-----------------------------------+-----------------------------------+ | Moo | 轻量级面向对象 | +-----------------------------------+-----------------------------------+ | Parallel::ForkManger | 多 | | | 进程处理,\ `例子 `__ | +-----------------------------------+-----------------------------------+ | Parse::RecDescent | 自定义解析模块,自顶向下 | +-----------------------------------+-----------------------------------+ | Perl::Tidy | 整理代码 | +-----------------------------------+-----------------------------------+ | Template::Toolkit | 模板生成 | +-----------------------------------+-----------------------------------+ | Teng | 数据库操作,轻量级 | +-----------------------------------+-----------------------------------+ | Term::ProgressBar | 文本进度条 | +-----------------------------------+-----------------------------------+ | Web::Scraper | 抓取网页 | +-----------------------------------+-----------------------------------+ | snaked | 支持秒级的crontab,支持日志滚动 | +-----------------------------------+-----------------------------------+ 更多模块 -------- +-----------------------------------+-----------------------------------+ | 模块 | 备注 | +===================================+===================================+ | Algorithm::Accounting | | +-----------------------------------+-----------------------------------+ | App::Ack | | +-----------------------------------+-----------------------------------+ | App::FatPacker | 把perl程序打包成 | | | 独立的执行文件,只要有perl就能用 | +-----------------------------------+-----------------------------------+ | Array::PrintCols | | +-----------------------------------+-----------------------------------+ | Benchmark::Timer | 程序运行时间 | +-----------------------------------+-----------------------------------+ | Bing::Translate | 翻译 | +-----------------------------------+-----------------------------------+ | Carp | 异常处理,有的用 use autodie; | +-----------------------------------+-----------------------------------+ | Clone | 复 | | | 制数据结构,传入的参数必须为引用 | +-----------------------------------+-----------------------------------+ | Config::Auto | 配置文件 | +-----------------------------------+-----------------------------------+ | Config::Context | 配置文件 | +-----------------------------------+-----------------------------------+ | Config::Scoped | 配置文件 | +-----------------------------------+-----------------------------------+ | Config::YAML | 配置文件 | +-----------------------------------+-----------------------------------+ | Cookie::Baker | 生成set-cookie的内容 | +-----------------------------------+-----------------------------------+ | CryptX | 加解密 | +-----------------------------------+-----------------------------------+ | DBM::Deep | 数据库 | +-----------------------------------+-----------------------------------+ | Dancer | Web 框架 | +-----------------------------------+-----------------------------------+ | Date::Parse | 从字符串解析时间 | +-----------------------------------+-----------------------------------+ | EV::ADNS | | +-----------------------------------+-----------------------------------+ | Email::MIME::Creator | | +-----------------------------------+-----------------------------------+ | Email::Sender | | +-----------------------------------+-----------------------------------+ | Email::Simple | | +-----------------------------------+-----------------------------------+ | Email::Simple::Creator | | +-----------------------------------+-----------------------------------+ | Email::Stuff | 简单的邮件发送模块 | +-----------------------------------+-----------------------------------+ | File::Sip | 读取大文件 | +-----------------------------------+-----------------------------------+ | File::Slurp::Tiny | 读写文件、目录 | +-----------------------------------+-----------------------------------+ | File::Stream | 读入文件时,如果指定\ : | | | math:`/,则`/必须是字符串;如果要 | | | 用正则式分隔,就用File::Stream。 | +-----------------------------------+-----------------------------------+ | File::Tail | | +-----------------------------------+-----------------------------------+ | File::Temp | 注意这个读文件的时候是binary | | | mo | | | de,实际处理时可能要自己设binmode | +-----------------------------------+-----------------------------------+ | Filesys::Df | 查看剩余空间 | +-----------------------------------+-----------------------------------+ | GraphViz::Regex | 将正则式画成图片 | +-----------------------------------+-----------------------------------+ | Hash::Util | 锁定hash值 | +-----------------------------------+-----------------------------------+ | IO::Socket | | +-----------------------------------+-----------------------------------+ | IO::All | 把i | | | o操作封装成面向对象的形式,还行吧 | +-----------------------------------+-----------------------------------+ | Log4Perl | | +-----------------------------------+-----------------------------------+ | Log::Dispatch | | +-----------------------------------+-----------------------------------+ | Log::Statistics | | +-----------------------------------+-----------------------------------+ | Logfile | | +-----------------------------------+-----------------------------------+ | Logfile::Rotate | | +-----------------------------------+-----------------------------------+ | Mail::Mailer | | +-----------------------------------+-----------------------------------+ | Mail::Sender | | +-----------------------------------+-----------------------------------+ | Mail::Sendmail | | +-----------------------------------+-----------------------------------+ | Moose | | +-----------------------------------+-----------------------------------+ | Net::ADNS | | +-----------------------------------+-----------------------------------+ | Net::Pcap | | +-----------------------------------+-----------------------------------+ | Net::Pcap::Easy | | +-----------------------------------+-----------------------------------+ | Net::PcapUtils | | +-----------------------------------+-----------------------------------+ | Net::Whois | | +-----------------------------------+-----------------------------------+ | Net::Whois::Raw | | +-----------------------------------+-----------------------------------+ | NetPacket::IP | | +-----------------------------------+-----------------------------------+ | NetPacket::TCP | | +-----------------------------------+-----------------------------------+ | Nmap::Scanner | | +-----------------------------------+-----------------------------------+ | Params::Validate | 检查函数参数 | +-----------------------------------+-----------------------------------+ | Parse::Syslog | | +-----------------------------------+-----------------------------------+ | Path::Class | 接口比较漂亮 | +-----------------------------------+-----------------------------------+ | Path::Tiny | 路径处理 | +-----------------------------------+-----------------------------------+ | Perl6::Form | | +-----------------------------------+-----------------------------------+ | Pod::Browser | 本地查看pod | +-----------------------------------+-----------------------------------+ | Proc::ProcessTable | | +-----------------------------------+-----------------------------------+ | Progress::Any | 进度条 | +-----------------------------------+-----------------------------------+ | Regexp::Common | 常用的正则式 | +-----------------------------------+-----------------------------------+ | Regexp::Log::Common | | +-----------------------------------+-----------------------------------+ | Regexp::Log::DateRange | | +-----------------------------------+-----------------------------------+ | SSH::Batch | 远程SSH批量操作 | +-----------------------------------+-----------------------------------+ | Safe::Isa | 检查某个对象是否属于指定object | +-----------------------------------+-----------------------------------+ | Set::Array | 数组操作模块 | +-----------------------------------+-----------------------------------+ | Sinffer::HTTP | | +-----------------------------------+-----------------------------------+ | Sort::ByExample | 排序时指定某些项优先 | +-----------------------------------+-----------------------------------+ | Spreadsheet::ParseExcel | 解析xls | +-----------------------------------+-----------------------------------+ | Spreadsheet::WriteExcel | 写入xls, | | | 注意写 | | | 入中文时必须为Unicode,不然会报错 | +-----------------------------------+-----------------------------------+ | Statistics::Basic | 基础统计函数 | | | ,均值、中位数、方差、标准差等等 | +-----------------------------------+-----------------------------------+ | Sub::Exporter | 生成多个闭包函数 | +-----------------------------------+-----------------------------------+ | Term::Prompt | | +-----------------------------------+-----------------------------------+ | Term::ProgressBar::Simple | 进度条 | +-----------------------------------+-----------------------------------+ | Test::Harness | | +-----------------------------------+-----------------------------------+ | Test::Output | 测试stdout、stderr输出的内容 | +-----------------------------------+-----------------------------------+ | Text::Autoformat | | +-----------------------------------+-----------------------------------+ | Text::Balanced | 解析字符串,提取内容 | +-----------------------------------+-----------------------------------+ | Text::BarGraph | | +-----------------------------------+-----------------------------------+ | Text::Beautify | | +-----------------------------------+-----------------------------------+ | Text::Match::FastAlternatives | | +-----------------------------------+-----------------------------------+ | Text::More | | +-----------------------------------+-----------------------------------+ | Text::Template | | +-----------------------------------+-----------------------------------+ | Text::Wrap | | +-----------------------------------+-----------------------------------+ | Text::Xslate | 类似Text::Template的模块 | | | ,速度很快 | +-----------------------------------+-----------------------------------+ | TextFormatTAble | | +-----------------------------------+-----------------------------------+ | Time::Piece | 时间处理,\ ` | | | 例子 `__ | +-----------------------------------+-----------------------------------+ | Try::Tiny | 异常处理 | +-----------------------------------+-----------------------------------+ | User::pwent | | +-----------------------------------+-----------------------------------+ | Win32::TieRegistry | 用Win32::TieRe | | | gistry读出windows已安装软件的列表 | +-----------------------------------+-----------------------------------+ | XLSperl | 命令行操作xls文件 | +-----------------------------------+-----------------------------------+ | XML::Compile | | +-----------------------------------+-----------------------------------+ | XML::LibXML | 很快 | +-----------------------------------+-----------------------------------+ | XML::Fast | 听说很快 | +-----------------------------------+-----------------------------------+ | XML::Rabbit | 见\ `thanks-to-xmlr | | | abbit `__ | +-----------------------------------+-----------------------------------+ | XML::Rules | | +-----------------------------------+-----------------------------------+ | XML::SAX | 适用于体积较大的XML | +-----------------------------------+-----------------------------------+ | XML::Simple | 很简单 | +-----------------------------------+-----------------------------------+ | XML::Struct | 接口比较简单 | +-----------------------------------+-----------------------------------+ | XML::Twig | 适用于大容量数据的一个小子集 | +-----------------------------------+-----------------------------------+ | YAML | 读入或输出YAML数据 | +-----------------------------------+-----------------------------------+ | YAML::XS | 读入或输出YAML数据,只认unicode | +-----------------------------------+-----------------------------------+ | YAML::Syck | 读入或输出YAML数据,只认unicode | +-----------------------------------+-----------------------------------+ | re::engine::RE2 | 采用google的RE2正则引擎 | +-----------------------------------+-----------------------------------+ | Rex | 自动化运维管 | | | 理工具,例如远程批量执行命令等等 | +-----------------------------------+-----------------------------------+ | Minion | 任务队列 | +-----------------------------------+-----------------------------------+ | Future::AsyncAwait | 异步 | +-----------------------------------+-----------------------------------+