1??列表就是数组
2?
用<> 读取了下一行
perl -ne 'print scalar <> if /Subject/' ? email2.txt
这个等于$a=<>。标量读取,所以一定是一行
为什么加上n不对呢
perl -ne 'print <> if /Subject/' ?这个不是读取一行.
这个等于@a=<>。数组读取,所以一定是多行
所以n从wc -l中算出,行不是1,所以继续循环,但是已经读不出东西来了,所以block
3?
while (<>) {
? ? ? ? push (@a,"$_");
}
#easy print array
print @a[-10..-1];
不能循环即可输出一段数组,用负值输出数组
4?
perl -pe '@A=<> ; print @A[-10..-1]' 4.txt
perl 数组的灵活性。可以范围指定(..)。可以从后向前指定,指定后面的。不用知道长度
#easy print array,don;t need loop
5
@line = ""就是相当于@line = qw("");
@line= 6*7; 只有一个标量的数组
6
数组输出和数组长度输出
$f="@d" ;
$f=@d;是标量上下文。数组长度
“@d”这个不是;“”有解析的字符串的意思
“”是转换成字符串 如果是数组, 就会输出数组,然后变成字符串
7
#!/opt/exp/bin/perl -w
my @array1 = (10,20,30,40,50);
my @array2 = ( 1,2,@array1,3,4);
#add "" to add space 10 20 30 40 50
print "@array1";
为每个元素加n,用点符号连接
8?
?数组和列表如何转化:split/joint
9
两个数组,和并成一个数组 push (@a,@b);