标签: perl-module

Perl的@INC是如何构建的?(又名影响Perl模块搜索的所有方法是什么?)

影响Perl模块搜索位置的所有方法是什么?或者,Perl的@INC是如何构建的

我们知道,Perl使用@INC包含目录名的数组来确定搜索Perl模块文件的位置.

在StackOverflow上似乎没有全面的"@INC"FAQ类型的帖子,所以这个问题是一个问题.

perl perl-module

198
推荐指数
3
解决办法
14万
查看次数

在Perl中,.pm(Perl模块)和.pl(Perl脚本)文件有什么区别?

.pm(Perl模块)和.pl(Perl脚本)文件有什么区别?

还请告诉我为什么我们1从文件返回.如果返回2或其他任何东西,它不会产生任何错误,那么为什么我们1从Perl模块返回?

perl perl-module

84
推荐指数
2
解决办法
10万
查看次数

如何从命令行检查我的系统上是否安装了Perl模块?

我试着检查我的系统中是否安装了XML :: Simple.

perl -e 'while (<@INC>) { while (<$_/*.pm>) { print "$_\n"; } }'
Run Code Online (Sandbox Code Playgroud)

上面的单行用于列出我系统中安装的所有模块.但是,它没有列出XML模块.

但是,以下执行正常.

perl -e "use XML::Simple "
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

perl command-line perl-module

57
推荐指数
6
解决办法
16万
查看次数

使用Strawberry Perl安装模块

到目前为止,我使用了ActiveStateActivePerl,并使用ppm来安装模块.

上周我搬到了Strawberry Perl,但我不知道应该如何使用Strawberry Perl安装模块.有关如何使用Strawberry Perl完成模块安装的一些信息,或者有关于如何安装新模块的一些链接?

windows perl cpan perl-module strawberry-perl

57
推荐指数
3
解决办法
7万
查看次数

为什么每个perl包的末尾都有1个?

如果你忘记了软件包末尾的1,Perl会告诉你"软件包没有返回真值".好吧,如果它知道你忘了它,为什么不把它放在那里呢?

perl perl-module return-value

35
推荐指数
2
解决办法
2万
查看次数

如何在Cygwin中安装Perl库?

我是一个C/C++/Java/Unix极客,但现在我必须在Windows中编写一个Perl程序.所以我安装了Cygwin,安装了EPIC的Eclipse,并运行了简单的测试程序.我没有可用的Unix机器,我可以运行Eclipse.

但我需要使用Net::TCP::Server,我无法弄清楚如何安装它.它似乎不是Cygwin Perl安装的一部分,我不想花5天时间学习Perl和CPAN以及Perl配置的世界.我只是想写我的程序.

在Cygwin中安装Perl模块的任何简单方法?我觉得这样的事情apt-get install会很好,但我希望这太过于希望了.

谢谢

perl cygwin perl-module

35
推荐指数
2
解决办法
5万
查看次数

什么是"1;" Perl意味着什么?

我遇到了一些Perl模块,例如类似于以下代码:

package MyPackage;

use strict;
use warnings;
use constant PERL510  => ( $] >= 5.0100 );

require Exporter;

our @ISA = qw(Exporter);  
our @EXPORT = qw( );

{  #What is the significance of this curly brace?

    my $somevar;

    sub Somesub {
      #Some code here 
    }
}

1;
Run Code Online (Sandbox Code Playgroud)

1;包围$somevar和Sub 的花括号的意义是什么?

perl perl-module

33
推荐指数
4
解决办法
2万
查看次数

如何在Perl模块中创建私有函数?

我正在研究一个小的Perl模块,由于某种原因,我有一个测试驱动程序脚本,它使用我的新模块调用我认为是私有的函数之一,并且它是成功的.我很惊讶,所以我开始搜索谷歌,我真的找不到任何关于如何在Perl模块中创建私有函数的文档...

我看到一个地方说要在你的"私人"功能的右大括号之后加一个分号,如下所示:

sub my_private_function {
...
}; 
Run Code Online (Sandbox Code Playgroud)

我尝试过,但我的驱动程序脚本仍然可以访问我想要私有的功能.

我会做一些简短的例子,但这就是我所追求的:

模块TestPrivate.pm:

package TestPrivate;

require 5.004;

use strict;
use warnings;
use Carp;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);

require Exporter;

@ISA = qw(Exporter AutoLoader);

our @EXPORT_OK = qw( public_function );
our @EXPORT    = qw( );

$VERSION = '0.01';

sub new {
    my ( $class, %args ) = @_;
    my $self = {};
    bless( $self, $class );
    $self->private_function("THIS SHOULD BE PRIVATE");
    $self->{public_variable} = "This is public";
    return $self;
}

sub public_function {
    my …
Run Code Online (Sandbox Code Playgroud)

perl module perl-module private-functions

32
推荐指数
5
解决办法
3万
查看次数

找不到Switch.pm

我该如何解决这个错误?

Can't locate Switch.pm in @INC (you may need to install the Switch module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
BEGIN failed--compilation aborted at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/html/DocTypeStrings.cpp] Error 2
Run Code Online (Sandbox Code Playgroud)

perl perl-module android-source

30
推荐指数
4
解决办法
6万
查看次数

perl中的export vs export_ok

我无法理解EXPORT_OKvs 的区别/用例是什么EXPORT.
大多数资源都提到了以下内容:

@Export允许使用标准导入方法将模块的函数和变量导出到用户的命名空间.这样,我们不需要为模块创建对象来访问其成员.
@EXPORT_OK根据需要导出符号,用于模块的符号(子例程和变量)的选择列表.

但我真的没有看到这里的区别/含义.
有人可以提供这两个符号的差异/用法的一个小基本例子吗?

perl perl-module

27
推荐指数
2
解决办法
2万
查看次数