标签: perl-module

如何使用自己编译的Perl中的供应商打包模块?

我的OS-Distribution提供了rpm-package"perl-obexftp",它安装了Modul"OBEXFTP".这些是文件:

/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/OBEXFTP.pm
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/OBEXFTP
/usr /lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/OBEXFTP/.packlist
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/OBEXFTP/ OBEXFTP.bs
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/OBEXFTP/OBEXFTP.so
/var/adm/perl-modules/obexftp

我现在正在使用我从源代码构建的Perl.有没有一种简单的方法可以使这个OBEXFTP模块可以访问我的Perlinstallation?

perl perl-module

4
推荐指数
1
解决办法
205
查看次数

旧的.pl模块与新的.pm模块

我是Perl的初学者,我正在努力构建构建Perl程序的最佳方法.我精通Python,我习惯于from foo import bar从python模块导入函数和类的python 方式.正如我在Perl中所理解的那样,有很多方法可以做到这一点,.pm和.pl模块,EXPORT和@ISAs,使用和要求等等.初学者不容易弄清楚哪些是差异,每个的优点和缺点(甚至在阅读Beginning Perl和Intermediate Perl之后).

问题所在,我目前的问题与以下句子有关perldoc perlmod:

Perl模块文件的扩展名为.pm.该use运营商承担这个,所以你不必拼出"Module.pm"加引号.这也有助于将新模块与旧的.pl和.ph文件区分开来.

旧的 .pl准备模块的方式与新的 .pm方式有什么区别?

它们真的是古老现代的方式吗?(我认为它们是因为Perlmod说的,但我想得到一些关于此的意见).

perl perl-module

4
推荐指数
1
解决办法
2063
查看次数

我怎样才能告诉perl模块的路径?

我在perl脚本中使用perl模块文件:

printtab.pl

use Table;
Run Code Online (Sandbox Code Playgroud)

Table.pm存在于同一目录中printtab.pl,因此只要我从目录执行printtab,它就可以正常执行.

但是如果我从其他地方执行它,例如,使用cronjob,我会收到一个错误,提到找不到该模块@INC.

解决这个问题的正确方法是什么?

我试过了

push @INC, "/path/Table.pm";
Run Code Online (Sandbox Code Playgroud)

但它不起作用.你能告诉我为什么吗?

我找到了use lib它并且它正常工作

use lib "/path";
Run Code Online (Sandbox Code Playgroud)

在这种情况下使用lib是最好的方法吗?

perl perl-module

4
推荐指数
1
解决办法
340
查看次数

LWP与libwww-perl相同?

我使用CPAN工具安装LWP,但失败了.然后我使用了PPM工具.我在PPM中找不到LWP,但仅限于libwww-perl(LWP).它们的名称是否相同?

我正在使用Strawberry Perl.

perl perl-module

4
推荐指数
1
解决办法
470
查看次数

为什么我的Perl脚本不使用我的模块?

module.pm

package module;
use 5.012;
use warnings;

sub Parse
{
   return 1;
}

1;
Run Code Online (Sandbox Code Playgroud)

script.pl

#!/usr/bin/perl -w

use 5.012;
use warnings;
use lib 'C:/';
use module;

print Parse("value");
Run Code Online (Sandbox Code Playgroud)

标准输出

Undefined subroutine &main::Parse
Run Code Online (Sandbox Code Playgroud)

perl perl-module subroutine

4
推荐指数
1
解决办法
1196
查看次数

perl:"不包括"模块

所以,我有一个这样的程序:

#!/usr/bin/perl -w  
use strict;  
foreach (@data) {  
    if($_ eq "foo") {  
        use Foo;
        process();
    }  
    if($_ eq "bar") {  
        use Bar;
        process();
    }  
...  
}
Run Code Online (Sandbox Code Playgroud)

每个包含的模块有点类似,唯一的区别是process() - sub的作用.

#!/usr/bin/perl -w  
use strict;  
sub process {  
...  
}
Run Code Online (Sandbox Code Playgroud)

我的问题:主脚本的输入是一个(可能很长)的事情列表,而处理该列表我得到连续的"子程序重新定义"错误(显然).有没有办法"取消使用"模块?
由于包含的可能"行动"库可能会在未来增长,我认为这种动态包含模块的方式将是最好的方法.非常感谢您的帮助 :)

perl perl-module

4
推荐指数
1
解决办法
138
查看次数

如何在Perl中使用模块

伙计们真的很困惑如何使用我刚安装在Perl中的模块.

我在Perl中安装了Corelist模块.我想显示Perl 5.006附带的所有模块.但是通过使用我不理解的代码有一个暗示:

my %modules = %{ $Module::CoreList::version{5.006} };
Run Code Online (Sandbox Code Playgroud)

但是当我这样做的时候

#! usr/bin/perl
use warnings;
use strict;

my %modules = %{$Module::CoreList::version{5.006}};

print %modules;
Run Code Online (Sandbox Code Playgroud)

它给出了这个错误:Module::CoreList::version used only once.我也尝试过 use Module::CoreList;仍然没有运气

perl perl-module

4
推荐指数
1
解决办法
317
查看次数

如果脚本在Windows上运行,我如何确保加载模块?

我有一个需要在Windows和Linux上运行的Perl脚本.问题是我需要use一个仅适用于Windows的Perl模块.

我试过下面的,但它仍然包括你的WindowsStuff包.

use strict;
if ($^O eq 'MSWin32' ){
    use My::WindowsStuff;
}
use File::Basename;
use Getopt::Long;
...
...
Run Code Online (Sandbox Code Playgroud)

linux windows perl module perl-module

4
推荐指数
1
解决办法
97
查看次数

为什么必须在use语句中指定函数名?

perl,有时需要在use语句中指定函数名称.

例如:

use Data::DPath ('dpath');
Run Code Online (Sandbox Code Playgroud)

会工作但是

use Data::DPath;
Run Code Online (Sandbox Code Playgroud)

惯于.

其他模块不需要指定的函数名称,例如:

use WWW::Mechanize;
Run Code Online (Sandbox Code Playgroud)

为什么?

perl function perl-module

4
推荐指数
1
解决办法
133
查看次数

以编程方式获取所有包含的Perl包的列表

有没有人知道在Perl运行时迭代Perl程序中实际包含的所有包(即use'd或require'd)的方法?我已经找到了很多关于如何找到所有已安装软件包的答案,但这不是我感兴趣的.我特别希望得到一个程序实际包含的软件包列表.这有可能吗?

顺便说一句,我正在使用Perl 5.26.0.

perl perl-module

4
推荐指数
1
解决办法
48
查看次数

标签 统计

perl ×10

perl-module ×10

function ×1

linux ×1

module ×1

subroutine ×1

windows ×1