Perl print命令使用时遇到的两个问题

本文和大家重点讨论一下Perl print用法中遇到的两个问题,使用Perl print的不同的写法时会出现一些不同的问题,这里和大家分享一下,相信通过本文的学习你对Perl print的概念一定会有初步的认识。

使用Perl print命令时遇到的问题

使用Perl print的不同的写法时会出现一些不同的问题:

1.打印数组:

可能你会习惯这样写:

@array1=(“body”,”head”,”tail”);

print@array1;

那么回输出:bodyheadtail

如果这样写:print“array1”;

会输出:bodyheadtail

中间会有空格出现,Perl会把””之间的数组先插入一些符号后然后变成字符串输出。

如果你的数组元素当中有以换行符结尾:

参考下列代码:

@array2=(“head\n”,”body\n”,”tail\n”);

Print“array2”;

运行的结果当中除了第一行,后面的bodytail都会有一个空格的缩进,所以如果你的数组元素当中包含有换行符,那么在你用print“@array”的时候,你就要注意输出的问题了。

2.带()的print和不带()的Perl print

Print(“hello”);

Print“hello”;

以上两个语句会有同样的输出,似乎没有什么区别,其实是有的

第一个加了()的Perl print会被看待为一个函数。第二个则被看成是一个运算式

在执行数值运算的时候您会看到有区别:

下面的打印您觉得会输出什么?

Print(2+4)*5;

结果是:6,why???????不应该是30么,如果你不相信你可以运行以下:

这是不是Perl出了问题?绝对不是,其实如果你对print输出加上

()的话,Perl就会把它当作是一个函数,然后运算这个函数,得到结果后

与后面的值运算,应为Perl print如果打印成功就会返回1,所以上面运算完之后

得出5。

如果你想正确的打印输出,那么比这样写:

Print5*(2+4);

或者:

相关推荐