Perl 模块推荐
perl吧
全部回复
仅看楼主
level 12
刚接手贴吧的时候就想做这样一个帖子。
目前贴吧主要面向的吧友是和我一样对Perl 了解并不深入的学习者,而Perl 的强大之处就在于各式各样的模块,这个置顶希望能够做成一个常用/好用模块的整理,不管是自带模块的介绍,还是CPAN 上的实用模块,如果您有觉得蛮好的推荐,
欢迎整理跟帖。
群策群力,知识共享。
[揪耳朵]
2014年08月02日 00点08分 1
level 12
LWP
这个是网页浏览比较常用的一个库,爬网页,或者POST/GET 等,可以设置协议UA 等等。
地址:https://metacpan.org/pod/LWP
WWW::Mechanize
这个外文资料可能更多一些,相对比较老牌,评价不错,作用同上。
https://metacpan.org/pod/WWW::Mechanize
2014年08月02日 01点08分 2
level 12
HTML::Parser
一个HTML 解析库,初学时用正则吐血的解析一个parse 或者parse_file 就好
https://metacpan.org/pod/HTML::Parser
HTML::Element
同样用于处理HTML 各种标签元素,而且可以把更简单的、使用列表引用形式的表示直接转换为HTML
https://metacpan.org/pod/HTML::Element
HTML::TreeBuilder
这个模块继承自上面两个,作用差不多,修改查找标签元素的属性值都蛮方便,寻找子节点返回一段列表等等,如果知道这些模块还在用正则处理HTML 真的太自虐了 ← ←
https://metacpan.org/pod/HTML::TreeBuilder
2014年08月02日 01点08分 3
有使用过visio 模块吗
2016年03月10日 07点03分
level 12
再说一下Perl 自带的文件处理模块吧
File::Basename
这个恐怕是初学Perl 最早接触的一个模块,返回basename 和dirname
File::Find
这个提供find 函数,用户获取目录下所有的子文件(注意这其中也包含了子目录)
File::Stat
获取文件的状态,每个字段的值代表含义可以看下perldoc,CPAN 上有这个模块的封装,名字是File::stat
File::Copy
如其名,移动或者赋值文件,提供cp 和mv 两个酷似Linux 指令的接口
File::Path
主要用于目录操作,新建目录(效果类似于mkdir -p 指令),删除目录等
File::Spec
这个用于提供一些文件名的操作,例如catfile 连接path 的各个部分,或者返回各个平台的特殊目录,例如rootdir、devnull、tmpdir 等
FileHandle
提供文件的对象化操作,例如常用的close $fh 可以变成$fh->close
2014年08月02日 01点08分 4
level 12
一些自带的处理时间的模块
Time::Piece
记不清localtime 的字段,觉得乱七八糟?$date->year 的形式你不会记错
Time::Seconds
继承自Time::Piece,给你一个时间点,若干天后是什么日期,若小时前又是什么日期?内部已做好加减法的重载,一个简单的算式告诉你答案。这个模块时间计算是非常精确的。
Time::Local
给定年月日时分秒,返回1970/1 以来的总秒数。请看perldoc,否则你会栽在年份传参上。
Net::Time
从服务器得到时间
2014年08月02日 01点08分 5
level 12
再说一下Perl 自带的参数处理模块
参数的处理,长短开关形式都有一个规范,所以最好不要自己处理参数,弄不好写的就不在规范之内,这个各种语言都有自己的处理方法,C 的getopt/getopt_long,C++ Boost 的Options 库,shell 的getopts 函数和getopt 指令……
Perl 中的模块是
Getopt::Std
用于短开关的处理,指定开关是否跟参数等等,结果放在$opt_* 标量或者给定的散列引用中
Getopt::Long
这个功能要强大很多,建议使用。提供短、长开关的完善处理,可以指定长开关短化的名字,指定后跟参数的方式等等,结果放在给定的数组引用中。注意Getopt::Long::GetOptions 中,默认是不区分大小写的,如果区分的话需要向下面一样use 时指定:config no_ignore_case,这应该是一个多做之过。
use Getopt::Long qw (GetOptions :config no_ignore_case);
2014年08月02日 01点08分 6
level 6
吧主,想问一下有没有android的模块?
2014年11月16日 14点11分 11
level 5
[太开心]
2014年11月19日 01点11分 12
level 13
很不错的精品贴子,对perl感兴趣,但还是小白
2014年12月14日 13点12分 13
level 8
perl现在还有人弄网页吗?
2014年12月23日 11点12分 14
level 12
IO::Tee 同时往多个句柄输出[花心]
2015年02月10日 11点02分 15
啊,下次试试,平时就在烦恼输出到不同的句柄呢,都是open好几次
2015年10月07日 09点10分
level 3
Moose,Moo --perl 面向对象
Http::Tiny --简单又好用的浏览器工具
https://metacpan.org/pod/Task::Kensho 优秀perl模块集合
2015年06月05日 06点06分 16
level 1
好贴,受用了,这么好的贴吧,为什么关注的人这么少呢
2016年10月25日 02点10分 19
level 1
install_driver(Oracle) failed: Can't load 'C:/Perl/site/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load_file:%1 不是有效的 Win32 应用程序。 at C:/Perl/lib/DynaLoader.pm line 194.
大神们 这是啥错啊??
2017年03月01日 07点03分 20
level 1
有解决tcp传输时粘包问题的模块吗?
2017年03月07日 10点03分 21
[啊] 粘包和半包之类的问题需要手动解决吧,因为这和你自己的协议相关,没法写通用模块的吧,至少我没听说过
2017年03月07日 10点03分
level 1
2017年12月26日 02点12分 23
level 3
吧主可以问个问题吗
2018年11月12日 06点11分 24
level 6
Term::ANSIColor - 输出带颜色的文字
1、单独设置颜色
使用示例
use Term::ANSIColor;
print color 'bold yellow'; #设定之后的打印内容为 粗体,黄色
print "注意";
print color 'reset'; #清除颜色
输出到color里的颜色属性列表
CLEAR清除, RESET重置, BOLD粗体, DARK黑暗, UNDERLINE下划线, UNDERSCORE下划线, BLINK闪烁, REVERSE反转, CONCEALED隐藏, BLACK黑色, RED红色, GREEN绿色, YELLOW黄色, BLUE蓝色, MAGENTA紫红色, CYAN青色, WHITE白色, ON_BLACK, ON_RED, ON_GREEN, ON_YELLOW, ON_BLUE, ON_MAGENTA, ON_CYAN, and ON_WHITE
这些。颜色属性不区分大小。普通颜色是设置前景色, 而在前面添加了on_的颜色就是背景色了,例如on_blue就是把背景设成蓝色。
2、颜色前置简化
如果使用这种方法,可以直接把颜色属性放在要输出的问题前面,从而简化输出步骤。
例如:
print BOLD BLUE ON_WHITE “Text”, RESET, “/n”;
如果你打印完之后想清除掉字符串的格式,一定要记得在最后加上一个RESET的属性值。例如:
use Term::ANSIColor qw(:constants);
print BOLD, BLUE, “This text is in bold blue./n”, RESET;
3、完全简化
对于2)的方法,如果你不想在每条打印语句后面加上RESET的话,你可以直接把$Term::ANSIColor::AUTORESET的值设为true。这样每次打印完字符,只要你的属性值之间没有逗号,系统将自动帮你清除掉颜色属性。看一个完整的例子:
use Term::ANSIColor qw(:constants);
$Term::ANSIColor::AUTORESET = 1;
print BOLD BLUE “This text is in bold blue./n”;
print “This text is normal./n”;
2022年01月14日 08点01分 25
1 2 尾页