Perl:当我从命令行运行“perl”时没有任何反应

时间:2014-02-19 01:28:57

标签: perl

如果我从linux命令行独立运行perl,则没有任何反应。我看到光标向下移动一行,如果我输入print "Hello, world";,仍然没有任何反应。我可以从命令行输入任何内容吗?我知道您可以运行perl -e 'print "Hello, world"';以及如何创建perl脚本。只是想知道为什么单独运行perl什么都不做。

5 个答案:

答案 0 :(得分:6)

输入以下内容:

$ perl
print "Hello World\n";
Ctrl-D
Hello World
$

最后一行是按住Control键并按D。不输入 Ctrl-D

如果您输入stty -a,您会看到Ctrl-D是EOF字符。这是Perl从STDIN读取的文件。这就是你想要的吗?

答案 1 :(得分:4)

在我的系统(Windows,cmd shell)上,如果我只输入perl,它就会开始从STDIN读取代码,当我点击文件末尾Ctrl-Z时,它会执行代码。正如这里所示:

C:\perl>perl
$a = "asd";
print "\$a = '$a'";
^Z
$a = 'asd'
C:\perl>perl
use Data::Dumper;
print Dumper [ 3.14 ];
^Z
$VAR1 = [
          '3.14'
        ];

这很方便,因为通常我不能在没有引用问题的情况下在cmd shell中使用双引号。

答案 2 :(得分:3)

在Linux命令行中单独运行perlperl将等待您的输入,例如@ david-w提供的答案

如果您需要交互式Perl环境,可以perl -d -e 42在调试模式下启动perl,或者安装Perl Shell(psh)

运行perldoc perlrunperldoc perldebug了解更多详情。

答案 3 :(得分:0)

尝试:

perl -e "print 'Hello World';"

否则,只是输入p​​erl并没有真正做任何事情。 (我知道,地雷和你的一样)

答案 4 :(得分:0)

我认为你正在寻找perl shell ..又名PSH

https://metacpan.org/pod/distribution/psh/doc/psh.pod