的行为。以及Perl中用于连接和解析的运算符
我试图在Perl中使用的行为。以及Perl中用于连接和解析的运算符,perl,parsing,concatenation,dot-operator,Perl,Parsing,Concatenation,Dot Operator,我试图在Perl中使用和,操作符,但得到了一些奇怪的东西,我无法理解: 如果我运行这个: print hello . this,isatest, program 输出为: hellothisisatestprogram 我能理解的是,它将点运算符前后的文本都视为字符串,并将它们连接起来 但是逗号呢?为什么它被省略而没有被连接?第一个句点()被视为连接运算符。后面的逗号分隔了打印的多个参数。结果是相同的-所有部分都连接在一起。如果要打印文字逗号,请将this,isatest,program括在
和,
操作符,但得到了一些奇怪的东西,我无法理解:
如果我运行这个:
print hello . this,isatest, program
输出为:
hellothisisatestprogram
我能理解的是,它将点运算符前后的文本都视为字符串,并将它们连接起来
但是逗号呢?为什么它被省略而没有被连接?第一个句点(
)被视为连接运算符。后面的逗号分隔了打印的多个参数。结果是相同的-所有部分都连接在一起。如果要打印文字逗号,请将this,isatest,program
括在引号中-“this,isatest,program”
以形成单个参数
我想这就是你想要的:
perl -e 'print "hello"." this,isatest,program"."\n"'
运行上述代码并检查输出。如果它提供了所需的输出,那么我想我们有一个解释。启用strict和warnings(使用strict;使用warnings;
)以消除字符串中的裸字。然后,考虑:print“hello”、“thisistest”、“program”
,不使用
操作符-print
的行为是什么?好的,那么这与
操作符结合起来有什么意义呢?(请注意,有关特定操作员的问题,请先查阅参考/手册/教程-在这种情况下,请参阅perlop
。还可以在perlvar
中查找,
,在perlfun
中查看打印),始终使用严格使用;使用警告代码>!