Windows Perl包问题

Windows Perl包问题,windows,eclipse,perl,activeperl,Windows,Eclipse,Perl,Activeperl,我是Perl新手 我加载了一个perl应用程序,在源文件中有这样一行: use PWING::Utils::Utils; 它导入一个看起来像的文件 我下载了一个Eclipse插件[Perl Eclipse集成]。 当我尝试将该文件作为perl应用程序启动时,它表示找不到导入的资源 现在的问题是,perl包结构是什么样的 该行表示必须有如下目录结构: PWING - Utils - Utils.pm ? 我发现我下载的应用程序

我是Perl新手

我加载了一个perl应用程序,在源文件中有这样一行:

 use PWING::Utils::Utils;
它导入一个看起来像的文件

我下载了一个Eclipse插件[Perl Eclipse集成]。 当我尝试将该文件作为perl应用程序启动时,它表示找不到导入的资源

现在的问题是,perl包结构是什么样的

该行表示必须有如下目录结构:

    PWING - 
          Utils - 
                 Utils.pm ?

我发现我下载的应用程序不包含这样的结构,因此如何启动?在Unix系统上,该文件位于以下目录中

 lib/PWING/Utils/Utils.pm
但问题是检测顶级目录“lib”可能在哪里

如果模块安装在您的系统上,它将被放在Perl可以找到它的地方。

文档说明

所有Perl模块文件的扩展名都是
.pm
use
操作符假定这一点,因此您不必在引号中拼写出
“Module.pm”
。这也有助于区分新模块与旧的
.pl
.ph
文件。模块名称也大写,除非它们作为pragmas使用;pragma实际上是编译器指令,有时被称为“实用模块”(如果你是古典主义者,甚至可以称为“pragmata”)

两项声明:

require SomeModule;
require "SomeModule.pm";
在两个方面彼此不同。在第一种情况下,模块名称中的任何双冒号(如
Some::module
)都会转换为系统的目录分隔符,通常为“/”

Perl包可能嵌套在其他包名中,因此我们可以让包名包含
。但是,如果我们直接使用这个包名作为文件名,那么在某些系统上可能会产生难以处理或不可能使用的文件名。因此,如果模块的名称是,比如说,
Text::Soundex
,那么它的定义实际上可以在库文件Text/Soundex.pm中找到

特殊数组包含要搜索模块的目录:

@公司 数组
@INC
包含
执行EXPR
需要
使用
构造查找其库文件的位置列表。它最初由任何
-I
命令行开关的参数组成,后面是默认的Perl库,可能是
/usr/local/lib/Perl
,后面是
,以表示当前目录。(
如果通过
-T
-T
启用了污染检查,则不会附加“”)如果您需要在运行时对此进行修改,您还应使用
使用lib
杂注来正确加载依赖于机器的库:

use lib '/mypath/libdir/';
use SomeMod;

您使用的是Windows和ActiveState的ActivePerl,还是Linux?您下载的应用程序-
PWING::Utils::Utils
似乎不是CPAN模块。