Perl语言做了几个小工具(1)

Perl语言做了几个小工具(1)


 

  翻开UNIX圣经《UNIX编程艺术》一书中,第22页第三段落写着“大多数的应用场合都应该使用高一级的语言,如Perl, Tcl, Python, Java, Lisp 甚至Shell这些语言可以将程序员从自行管理内存的负担中解放出来”——《UNIX编程艺术


  其实,脚本语言的好处不仅仅是把程序员从自行管理内存的负担中解放出来。更重要是让各种语言处理他们擅长的工作。比如Perl语言就很擅长处理于字符串相关的工作。这对程序员来说,意味着因为使用了合适的工具解决了问题,从而节省了时间。

  以前做过一个程序。广东移动自助终端后台营销案对帐程序。我们把BOSS那边传给电子渠道的对帐文件获取下来,然后进行解析,将BOSS对帐文件的交易和后台服务器纪录的交易进行对比,检查平帐情况。

  当程序通过FTP客户端去下载BOSS文件的时候发生了一个小BUG。那就是BOSS对帐文件被下来下来的时候,文件的头一行多了一串:“260 File send OK“的字符串。显然这是FTP客户端下载库的BUG。

  那么解决的方法很直观那就是:查FTP客户端库的源代码,把BUG找出来,把问题解决掉。

  由于我们条件的限制(程序跑在Solarix 上,并且 上面没有装GDB,而测试环境Redhat无法模拟出Bug来)。所以传统直观解决问题的办法,颇费一番功夫。

  那么按照UNIX解决问题的思路是:我们需要解决这个问题吗?  我想到最KISS的解决方法是:每当下载到BOSS对帐文件下来时,检查文件的第一行。看看是否包含"260 File send OK"的字符串。如果包含则把该行筛掉。如果不包含,则不做

然后处理。

  我花了大概一个小时包括编写代码和调试写了一个perl小程序

  该程序保存为delhead.pl,在对帐程序中通过system()函数调用。从而解决了这个问题。我承认这个是一个‘懒惰“的办法。但是UNIX的“优秀传统”不就是通过“懒惰”而达到KISS吗?

 

 

Perl语言做了几个小工具(1)_第1张图片

 

 

 

你可能感兴趣的:(Perl语言做了几个小工具(1))