1)perl是非常灵活的,听到有人说,看perl代码最不爽的一点就是:一个判断条件可放在一个语句后面,例如:
my $value = "value" if $needvalue;有时,如果前面的语句很长,然后要if语句就那么短小地放在后面,若没注意看后面的if语句,就可能会理解错误,这点有时也会让审代码的头疼。
2)最近听到一位前辈说,最好是不要用unless,因为对于没有学过perl的人,这个可能不容易理解,尽量用上perl具有的一些编程语言比较通用的if,这样对于任何看代码的人都是比较有好处的,好吧,记得我的代码里面有几处unless,就这样让它们留在那里把。
3)这阵子刚写perl,对于perl也只是只能用,不能灵活使用,记得,有一次,我用perl来获取shell执行的结果:
my $ret = `ls -al | awk 'NR==2' | awk '{print $3}' `;
看得出错误吗,这个是不能得到想要的结果的, `是不是和‘很相似,但问题是,我要获取的是第2行第3列的结果,但是,我就是只能得到第2行的,这让我郁闷了一会,明明在shell里是可以的,但是怎么在perl里调用就不行了?难道哥的人品太差。。。于是,去测了一下管道有没有问题,没有——靠,那么神奇,终于,在一天,看了其他前辈写的代码,
my $str = "ssh root@$ip";
才发现,原来少了一个"",perl就直接把 $3 当做变量处理了,真是任性,不要以为``里也可以和''里一样任性。
版权声明:本文为博主原创文章,未经博主允许不得转载。