*这个就要讲到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 访问此网上论坛。

回复