如果我从linux命令行独立运行perl
,则没有任何反应。我看到光标向下移动一行,如果我输入print "Hello, world";
,仍然没有任何反应。我可以从命令行输入任何内容吗?我知道您可以运行perl -e 'print "Hello, world"';
以及如何创建perl脚本。只是想知道为什么单独运行perl
什么都不做。
答案 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命令行中单独运行perl
,perl
将等待您的输入,例如@ david-w提供的答案
如果您需要交互式Perl环境,可以perl -d -e 42
在调试模式下启动perl,或者安装Perl Shell(psh)。
运行perldoc perlrun
和perldoc perldebug
了解更多详情。
答案 3 :(得分:0)
尝试:
perl -e "print 'Hello World';"
否则,只是输入perl并没有真正做任何事情。 (我知道,地雷和你的一样)
答案 4 :(得分:0)
我认为你正在寻找perl shell ..又名PSH