perl -MCPAN Frontier

时间:2012-08-10 23:27:40

标签: perl debian cpan

我有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);

2 个答案:

答案 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