0

我对 perl 很陌生,当我尝试为标量分配一个值并打印它时,我才开始学习我面临的问题。我在做

         perl -e "$number=30;"    
         perl -e "print $number;"

输出不显示任何内容,但当我这样做时

         perl -e "$number=30; print $number;"

输出显示 30 为什么?

4

2 回答 2

5

当你执行:

perl -e "$number=30;"    
perl -e "print $number;"

这是两个独立的进程,因此它们不共享信息。变量 $number 将不可用于第二个命令。

另一个:

perl -e "$number=30; print $number;"

有效,因为它在同一执行中运行,并且 $number 对下一个打印语句可见

于 2013-08-18T07:20:47.240 回答
5

这个:

perl -e "$number=30;"

运行 Perl 程序$number=30;,它将变量设置$number为 30,然后什么也不做。

这个:

perl -e "print $number;"

运行 Perl 程序print $number;,该程序打印未初始化变量的值$number

关键是,因为这是两个完全独立的 Perl 程序,所以$number第一个程序中的变量$number和第二个程序中的变量之间没有任何联系。两个程序之间没有任何关系,它们之间也没有通信,因此它们不也不能共享任何变量。

于 2013-08-18T07:21:14.633 回答