2014-02-19 198 views
3

如果我自己從linux命令行運行perl,則不會發生任何事情。我看到光標向下移動,如果我輸入print "Hello, world";,仍然沒有任何反應。有什麼我可以從這裏的命令行輸入嗎?我知道你可以運行perl -e 'print "Hello, world"';以及如何創建一個perl腳本。只是想知道爲什麼運行perl本身什麼都不做。Perl:從命令行運行「perl」時沒有任何反應

回答

6

鍵入以下內容:

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

這是最後一行,你按住Ctrl鍵,然後按D 。不打字Ctrl-D

如果您鍵入stty -a,您會看到Ctrl-D是他的EOF字符。這是來自STDIN的文件中的Perl讀取。那是你要的嗎?

0

嘗試:

perl -e "print 'Hello World';" 

否則,剛進入Perl並不做任何事情。本身(這我知道,煤礦確實和你的一樣)

3

運行perl在Linux命令行,perl將等待你的輸入,通過@大衛-W

給出的答案所示例如果您想要一個交互式的Perl環境,你可以通過perl -d -e 42或者安裝Perl Shell(psh)以調試模式啓動perl。

運行perldoc perlrunperldoc perldebug瞭解更多詳情。

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中使用雙引號。