0

我在 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 但没有运气。

任何帮助都深表感谢。

4

2 回答 2

0

事实证明,这个答案非常愚蠢:

我的文本编辑器设置为生成 Macintosh EOL 格式的文本文件。将其转换为 Unix/Windows 格式可以解决此问题。

然而,我觉得奇怪的一件事是 Perl 不会通知这个问题,而是什么也没做。

于 2013-05-23T17:01:34.587 回答
0

使用 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
于 2013-05-24T22:44:20.613 回答