在学习《Perl语言入门 第六版》第五章的输出到标准输出一节关于在有无chomp函数下print @array;、print “@array”;、print “@array\n”;的区别,特此做了一下笔记总结。
@array = <STDIN>; #在键盘输入fred、barney、betty,一行输入一个字符串
print @array;
fred
barney
betty
print "@array";
fred
barney #[空格]字符[换行]
betty
print "@array\n";
fred
barney #空格字符[换行]
betty
#[换行]
chomp(@array1 = <STDIN>);#在键盘输入fred、barney、betty,一行输入一个字符串
print @array1;
fredbarneybetty
print "@array1";
fred barney betty #没有换行符
##字符[空格]字符[空格]字符
print "@array1\n";
fred barney betty #有换行符
总结:
- chomp函数是去掉输入数组的换行符
- print “@array1”;相比print @array;而言,"@array1"是数组内插。Perl将数组内插到字符串时,会在每个元素(或元素和换行符)之间默认加上空格。
- print “@array1\n”;加换行符仅仅是在数组的最后一元素加,且换行符是可以累加的。即两个换行符代表的是换行加一个空行。