繁体   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