在Windows中从命令行执行perl代码

har*_*ris 0 perl

我对perl非常新,当我尝试分配一个标量值并且我正面临问题的打印时才开始学习.我在做

         perl -e "$number=30;"    
         perl -e "print $number;"
Run Code Online (Sandbox Code Playgroud)

除非我这样做,否则输出不显示任何内容

         perl -e "$number=30; print $number;"
Run Code Online (Sandbox Code Playgroud)

输出显示30为什么?

Mig*_*Prz 5

当你执行:

perl -e "$number=30;"    
perl -e "print $number;"
Run Code Online (Sandbox Code Playgroud)

这是两个独立的过程,因此它们不共享信息.第二个命令将无法使用变量$ number.

另一个:

perl -e "$number=30; print $number;"
Run Code Online (Sandbox Code Playgroud)

可以工作,因为它在同一个执行中运行,$ number对下一个打印句子可见


rua*_*akh 5

这个:

perl -e "$number=30;"
Run Code Online (Sandbox Code Playgroud)

运行Perl程序$number=30;,它将变量设置$number为30,然后不执行任何操作.

这个:

perl -e "print $number;"
Run Code Online (Sandbox Code Playgroud)

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

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