perl 提高效率一则

1、在打开的句柄中,直接使用while之后,$_=<openhandle>,来遍历每一行,如:
open TEST,"1.txt";
binmode TEST;
while (1 == 1) {$_=<TEST>;
print ;
}

2、在去除回车符时,可以使用:
chomp $_; s/\r$//;

3、有两种处理时间的函数:
localtime(time) 输出:5501511811222540,这是一个数组,如果赋值给变量,再打印,就会出现“Tue Sep 11 15:02:14 2012”
gmtime(time) 输出:434711811222540,这也是一个数组,如果赋值给变量,再打印,就会出现“Tue Sep 11 07:04:12 2012“
可以看出,时间相差了8个小时。
同是处理时间,不同是gmtime使用的时区是格林尼治时间。
还有一种处理时间的函数,是在POSIX模块中:use POSIX qw(strftime)
该函数可以将上面的时间处理成和date命令打印出来的格式相同,用法如下,这样的好处是,可以方便自定义输出格式。
print strftime("%Y-%m-%d %H:%M:%S\n", localtime(time));

4、for (0..@ARGV-1)这样在遍历大一些的数组时,会比较节省内存
或者使用while
while ($i<@arry){
print $arry[$i];
$i++;
}

原文地址:https://www.cnblogs.com/agostop/p/2683147.html