簡體   English   中英

Perl拒絕運行腳本

[英]Perl refuses to run scripts

我在Cygwin上使用Perl 5.14.2,突然它拒絕運行最簡單的腳本:

#!/usr/bin/perl
use strict;
use warnings;
print "hello world!\n";

嘗試執行此操作將導致Perl絕對不執行任何操作,並且$?也不會執行$? 包含任何內容:

Administrator@Windows7 /cygdrive/d/Development/Perl
$ perl helloworld.plx

Administrator@Windows7 /cygdrive/d/Development/Perl
$ echo $?
0

但是,我之前編寫了更復雜的腳本,並且它們確實可以運行:

Administrator@Windows7 /cygdrive/d/Development/Perl
$ perl siteinfo.plx

Site info : google.com
________________________________________________________________________________
Whois : ( ... whois info printed here ...)
hpHosts : Not Listed

我真的不明白這里到底發生了什么。 我試過重新安裝Perl,但是沒有運氣。

任何幫助深表感謝。

答案很愚蠢:

我的文本編輯器被設置為生產Macintosh EOL格式的文本文件。 將其轉換為Unix / Windows格式可解決此問題。

但是,我感到奇怪的一件事是Perl不會通知該問題,相反它什么也沒做。

使用B :: Deparse查看perl如何解析您的程序

  $ perl -MO=Deparse,-p -e ""
  -e syntax OK

  $ perl -MO=Deparse,-p -e "#!/usr/bin/perl -- die 666; "
  -e syntax OK

  $ perl -MO=Deparse,-p -e "die 666; "
  die(666);
  -e syntax OK

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM