我有Debian 6。
我想用perl恶魔安装脚本PHP。我安装了perl等。
apt-get install perl build-essential
在demon.pl中我有一句话:
使用Frontier :: Daemon :: Forking;
使用Crypt :: XXTEA;
使用Cfg :: Config; 大段引用 使用Unix :: PasswdFile;
使用MIME :: Base64;
使用File :: Find;
使用File :: Slurp;
使用File :: Copy :: Recursive qw(fcopy rcopy dircopy fmove rmove dirmove pathempty pathrmdir);
我发现,我必须打开:
perl -MCPAN -e shell
并安装
安装Frontier :: Daemon :: Forking
安装Crypt :: XXTEA
安装Cfg :: Config
安装Unix :: PasswdFile
安装MIME :: Base64
安装File :: Find
安装File :: Slurp
安装File :: Copy :: Recursive
如果没有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)
最后我尝试运行demon.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);
答案 0 :(得分:1)
无法从CPAN安装Cfg :: Config,因为CPAN上没有此类模块。
答案 1 :(得分:1)
我怀疑Cfg::Config
模块来自CPAN以外的某个地方。这可能是 demon.pl 所带来的。
您看到的其他错误来自shell。你这样称呼它:
% ./demon.pl
shell尝试将该文件作为程序执行。它看到它是一个文本文件,因此它查看前两个字节以查看它们是否为#!
。如果是这样,它使用#!
之后的路径作为将处理文本的intrepreter。这条线被称为“shebang线”。在Perl程序中,它通常看起来像:
#!/usr/bin/perl
如果你想让shell弄清楚如何处理文件,你只需要那一行。您可以指定要使用perl
:
% perl demon.pl
由于您正在尝试确定您的Perl程序是否正常工作并且具有所需的所有模块,因此您可以尝试语法检查:
% perl -c demon.pl
如果您想添加shebang系列,您应该找到perl
所在的位置:
% which perl
/usr/bin/perl
走这条路并构建你的shebang并把它放在你的Perl程序的顶部:
#!/usr/bin/perl
... # rest of program