原帖由 gsging 于 2007-3-28 09:12 发表
能不能请大家说点自己用perl"偷懒"的实际例子.
原帖由 flw 于 2007-3-28 10:58 发表
本帖侧重于展现 Perl 是如何帮助你工作的,因此不要在这里交流那些本来就应该用 Perl 去做的事情
工作中有什么烦人的事,需要重复劳动的地方,就可以考虑用 Perl 来做。
比如我有一回测试一个 SPF 服务,需要不断地重复以下过程:
1,从待测 IP 清单中拿出一个 IP 地址。
2,修改机器 A 的 IP 成为此 IP。
3,把机器 B (和机器 A 在一个网络里)的 IP 设置成和刚才那个 IP 在同一个网段的随便一个 IP。
4,在机器 A 上往机器 B 上发一份 email。(情况略有不同,但是先大概这么理解吧。)
5,看发信结果是能发过去,还是被拒绝。
那个 IP 清单很长,忘了是好几千还是好几万还是好几十万了,
反正手工一个一个做是不可能的,于是开始时抽样做了几个 IP,
后来嫌太麻烦,就用 Perl 写了一个脚本。
自动完成以上所有工作。
/path/to/ttt.pl ip.list | tee report.txt
若干小时之后只需要观察 report.txt 就可以了。
如果老板不是很黑的话,这几个小时期间就可以去喝茶了。
再举一个例子,
我前阵子接手一个项目,典型的 C/S 结构 socket 程序,我调的是服务端,C 写的。原来的代码写的特别烂,我在调试的过程中需要反复地让配合我测试的另外一位同事发送某个请求以便跟踪程序、找到问题所在。但是因为客户端自身有一些业务上的限制导致操作起来并不是那么便利(比如每次都要重新输入很多资料、输入不完整、不合法还不行),我看到那位同事很辛苦,出于体谅到他的情绪,以及为大家节约时间的角度考虑,我就修改了一下服务端的代码,把收到的报文储存在一个临时文件中,并写了一套 Perl 脚本,show 03 就可以查看交易代码是 03 的那些报文(文件名),replay_last 03 重放最后一个 03 业务。replay /tmp/pkg/foo.dat 重放某个指定的业务,等等。
这样一来,每次他只需要告诉我他在哪个功能中发现了错误,我就 show xx 一下找到对应的文件名,
然后重复地 replay 这个报文,同时跟踪、修改、再跟踪服务端。等到改好之后,再让他试一下就行了。
至于选择 Perl 来写这些脚本而不是 C 或者别的东西,
是因为发送一个完整的请求包括了 Socket 操作、查找报文文件、XML 识别、压缩解压等操作,用 C 写起来可能就得不偿失了。
原帖由 red999 于 2007-7-2 15:34 发表
每个工作日都要填写日报,觉得这个剧麻烦,而且还老是忘记,于是前段时间学了perl之后,鼓捣了一个perl脚本,周一至周五自动登陆填写日报,真是爽,呵呵
原帖由 flw 于 2007-7-2 15:49 发表
日报内容来自何方?
原帖由 flw 于 2007-7-2 15:49 发表
日报内容来自何方?
原帖由 doiob 于 2007-3-30 20:41 发表
曾经用perl编了几个cgi程序分析彩票数据玩,apache做服务器,浏览器显示结果。可惜没有分析出什么结果,其实也是个perl学习过程。我主要是在取数的方面偷了一小懒,以前都是用浏览器打开有关网页,比较现有数据 ...
原帖由 gsging 于 2007-7-3 09:39 发表
呵呵,我也写了一个每天自动提交日报的程序。
现在很多公司的日报就是个形式,比如我们公司,日报写什么没关系,不写就罚50块钱。
所以日报内容一年到头就是"coding"这几个字.
原帖由 ubac 于 2007-7-6 09:54 发表
公司一个项目要实现文件上传的功能,原来这部分是用C写的,但是上传速度特别慢,搞不好系统就挂掉了,
后来我用Perl将其改成CGI上传,上传速度明显提高了,而且系统稳定性也增强了
xti9er 发表于 2009-06-02 14:54
工作中我也常用perl来做一些事情,自动化,降低人力成本。
工作中:
生活中:
1、炒股,自动收集整理我持有股票的涨跌并汇总,计算盈亏
2、翻译,通过google或本地词库翻译
3、炒黄金,提取黄金走势图
4、spider
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |