4

尽管我可能没有使用正确的搜索词,但谷歌没有找到任何关于这个问题的解释。

脚本1:

#!usr/bin/perl
#concatenation2.pl
use warnings;
use strict;
print"Four sevens are",4*7 ,"\n";
print"Four sevens are".4*7 ."\n";

脚本2:

#!usr/bin/perl
#concatenation2.pl
use warnings;
use strict;
print"Four sevens are",4*7,"\n";
print"Four sevens are".4*7."\n";

script1 的输出是:

Four sevens are28
Four sevens are28

好的,所以我(了解到)在关闭双引号之前需要有一个空格。但是,script2 的输出以错误消息结尾:

string found where operator expected at concatenate2.pl line 6, near "7."\n""
(Missing operator before "\n"?)
syntax error at concatenate2.pl line 6, near "7."\n""

我无法找到解释为什么数字和 . 在 script2 中,虽然数字和 之间不需要空格,但我目前依靠 google 和免费的 perl 书籍来帮助我学习语言。任何帮助(此类细微差别的一般准则)将不胜感激。谢谢你。

4

1 回答 1

11

7.perl词法分析器的数字,例如3.1415926535. 为避免混淆,请用空格将点与前面的数字分开:"the answer is " . 4*7 . " times more complicated"

于 2013-02-13T23:01:30.863 回答