本文零散的记录了Perl语言编写过程中的一些小问题,这些问题有可能对初学者产生困惑,希望对大家帮助。
1)Perl获取Shell指令执行结果
一般,在Perl中执行Shell指令的语句是
system `cmd`
或者是
`cmd`
要想在Perl中获取到Shell的执行结果,必须在前面加数组变量以便存储数据。
my @result = `cmd`
这里切勿写成
my @result = system `cmd`
这种写法会导致无法获取Shell命令的执行结果
2)Perl遍历数组的时候使用foreach的问题
遍历数据可以使用两种主要方法,一种是使用foreach
foreach my $line (@array){
#do some operation
}
或者是类似C语言中的for和while语句
my $num = scalar(@array);
for(my $i=0; $i!=$num; $i++){
my $line = $arrary[$i];
#do some operation
}
两者有一个重要的据别,就是foreach的遍历具有记忆行,两次使用foreach遍历数组的时候,第二次会紧跟第一次遍历的位置开始遍历,而使用for和while循环体则不会有这种顾虑,所以请不要假设每一次的foreach都是从数组首元素开始遍历。