*这个就要讲到Perl的变量的命名规范了。变量只能以字符或者下划线开头。* *显然空格是不能作为变量的开头的。因此 $ a = $a 的。 验证如下* * * *$perl -e '$a=1; print "true\n" if ($ a == $a)'* *true * 所以这个就很容易解释你所得到的那些结果了。 其实不是print函数参数列表中空格的缘故哦。
在 2012年7月4日星期三UTC+8下午3时15分53秒,Tianping写道: > > 函数与参数列表间可以有空格,这在小骆驼中提到了。 > $ perl -e ' print (2+3) x 3 ' > 5 > $ perl -e ' print ((2+3) x 3) ' > 555 > > 但是,sigil与变量名之间也可以有空格,这语法太灵活太松散了吧? > $ perl -e '$a=1; print $ a; ' > 1 > $ perl -e '$a=1; print $ a + $ a; ' > 2 > $ perl -e '$a=1; print $ a + $ ab; ' > 1 > $ perl -e '$ a=1; print $a + $ a; ' > 2 > > Perl中如何来实现的?语句应当是根据分号 ; 来识别的吧?还有没有别的规则? > 有没有讲述Perl语言内部机制的资料?大家给推荐一些。多 谢! > > -- 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 要在网络上查看此讨论,请访问 https://groups.google.com/d/msg/perlchina/-/W2O4SHeCfLIJ。 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscr...@googlegroups.com。 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。