全部学习汇总: GreyZhang/perl_basic: some perl basic learning notes. (github.com)
前阵子写通过Perl执行判断调用ImageMagick实现图像的批量压缩功能脚本时用到过这个功能,只是当时仅仅看了一个获取文件大小的功能。
今天看第六版的小骆驼书又看到了这个功能,照着书上的示范代码写了一遍运行程序的时候没有输出我期待的结果。于是又回到文档,我似乎有那么几分确认,书中的代码是错误的或者是书中用的Perl模块库或者Perl本身的版本跟我现在用的最新版有一些差异。起初,我差点这么以为。
按照文档中给出的信息做了一个简单的测试学习代码脚本,具体的代码如下:
其中注释屏蔽掉的部分抄写自小骆驼丛书,没有输出我想要的结果。程序运行的结果如下:
看起来,似乎最后两个属性也没有正确输出。不过,其他的看着都还算正常,只是我现在还不太清楚其中几个数字的含义。
虽说是功能基本上出现了我想要的结果,但是总觉得不对劲儿,我觉得小骆驼不至于犯这么低级的错误,或许是我什么地方想偏了。后来突然意识到,小骆驼书中似乎并没有说使用过什么模块,难道stat是Perl的一个内置函数?为了验证猜测,再一次进行测试:
我把原来的代码找了回来:
程序的执行结果如下:
果真跟我猜测的差不多,看起来尝试使用模块是我自己舍近求远了。不过,如果是真的需要相应的功能时,后期我怕是还要采用File::stat的模块的。因为这种代码写完之后看着确实是调理清晰一些,写代码的时候也不需要去考虑太多数值与位置的对应关系。想想看,在学完小骆驼之后我似乎应该拿点时间出来学习一下面向对象编程的技术了。