-1

我有 Debian 6。

我想用 perl 恶魔安装脚本 PHP。我安装 perl 等。

apt-get install perl build-essential

在demon.pl 我有几行:

使用 Frontier::Daemon::Forking;

使用地穴::XXTEA;

使用 Cfg::Config;块引用使用 Unix::PasswdFile;

使用 MIME::Base64;

使用文件::查找;

使用 File::Slurp;

使用 File::Copy::Recursive qw(fcopy rcopy dircopy fmove rmove dirmove pathempty pathrmdir);

我发现,我必须打开:

perl -MCPAN -e 外壳

并安装

安装 Frontier::Daemon::Forking

安装地穴::XXTEA

安装 Cfg::Config

安装 Unix::PasswdFile

安装 MIME::Base64

安装文件::查找

安装文件::Slurp

安装文件::复制::递归

没有 Cfg::Config 一切正常,我有错误:

    Warning: Cannot install Cfg::Config, don't know what it is.
Try the command

    i /Cfg::Config/

to find objects with matching identifiers.
CPAN: Time::HiRes loaded ok (v1.9719)

最后我尝试运行 demo.pl 但有错误

./demon.pl: line 1: use: command not found
: command not found
./demon.pl: line 2: use: command not found
: command not found
./demon.pl: line 3: use: command not found
: command not found
./demon.pl: line 4: use: command not found
: command not found
./demon.pl: line 5: use: command not found
: command not found
./demon.pl: line 6: use: command not found
: command not found
./demon.pl: line 7: use: command not found
: command not found
./demon.pl: line 8: syntax error near unexpected token `('
./demon.pl: line 8: `use File::Copy::Recursive qw(fcopy rcopy dircopy fmove rmov' dirmove pathempty pathrmdir);
4

2 回答 2

1

无法从 CPAN 安装 Cfg::Config,因为 CPAN 上没有此类模块。

于 2012-08-10T23:46:09.630 回答
1

我怀疑该Cfg::Config模块来自 CPAN 之外的某个地方。这可能是demo.pl应该附带的东西。

您看到的其他错误来自 shell。你这样称呼它:

 % ./demon.pl

Shell 尝试将该文件作为程序执行。它看到它是一个文本文件,因此它查看前两个字节以查看它们是否为#!. 如果是这样,它将使用之后的路径#!作为将处理文本的解释器。这条线被称为“shebang线”。在 Perl 程序中,它通常看起来像:

 #!/usr/bin/perl

如果你想让 shell 弄清楚如何处理文件,你只需要那行。您可以指定要使用perl

% perl demon.pl

由于您正在尝试确定您的 Perl 程序是否正在运行并具有它需要的所有模块,因此您可以尝试进行语法检查:

% perl -c demon.pl

如果你想添加 shebang 行,你应该找到我们的 where your perlis:

% which perl
/usr/bin/perl

走这条路并构建你的 shebang 并将它放在你的 Perl 程序的顶部:

#!/usr/bin/perl
... # rest of program
于 2012-08-11T00:03:57.960 回答