全部学习汇总: GreyZhang/perl_basic: some perl basic learning notes. (github.com)
近段时间写一个Perl程序,中间反反复复用到了文件的读写。虽说是用Perl的基本功能实现读写非常简单,但是写的过程中我不止一次在想Python以及MATLAB的功能。后来终于忍不住写了一个小函数,用来实现一个readlines功能。
其实之前的工作中这种功能早就用到了很多次,但是那时候Perl的水平应该还处于小学的造句水平。虽然那时候看过怎么写函数,但是看得非常模糊,加上那时候写代码的经验几乎没有,即使是看过的东西脑子里也很难留下印象。因此,那时候的总体方案是能够解决问题就好。那段时间写了很多从可读性到结构甚至是功能上烂得一塌糊涂的脚本,但是依然很兴奋,因为那东西管用!虽说是很烂,但是确实是减轻了我不少工作量,每次实现一次自动化都让我觉得有一点点小小的兴奋。
前阵子终于下定决心,让自己的Perl再前进一个阶段,争取能够到小学作文水准。于是乎学会了写简单的Perl函数,没用过几次Perl函数构造功能就决定先放弃Python,拿一点时间出来好好掌握一下Perl。
关于函数式的编程,我在Python学习使用中很早就掌握了。这种技能上相对于简单脚本的优越性让我在一年多的时间内几乎放弃了Perl。不过简单学习了Perl的函数式编程之后,我瞬间觉得自己似乎走错了路。我似乎能够用少得多的代码完成之前用Python实现的各种功能。又加上公司的办公环境装了一套加密系统,Python只能够访问非加密文件,而Perl则在访问上没有任何限制,这更让我有了重返Perl的决心。
说这么多,并不是说Python不好,我也很喜欢Python,未来还有可能更多的使用Python。不过,在我的工作中能够给我带来效益的层面讲,Perl似乎更合适一些。因为我通常不需要构建大型的程序框架,我需要的其实还是一些小脚本。
说多了,实现一个readlines功能函数代码如下:
测试结果如下: