标签: perl-module

为什么File :: Slurp在返回列表时会返回标量?

我是File :: Slurp模块的新手,在我第一次使用它时,它没有给出我期望的结果.我花了一段时间才弄明白,所以现在我对我为何看到这种行为感兴趣.

我对File :: Slurp的调用如下所示:

my @array = read_file( $file ) || die "Cannot read $file\n";
Run Code Online (Sandbox Code Playgroud)

我包含了"die"部分,因为我习惯在打开文件时这样做.我的@array总是会在数组的第一个元素中得到文件的全部内容.最后我拿出了"|| die"部分,它按照我的预期开始工作.

这是一个例子来说明:

perl -de0

Loading DB routines from perl5db.pl version 1.22
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(-e:1):   0
DB<1> use File::Slurp

DB<2> $file = '/usr/java6_64/copyright'

DB<3> x @array1 = read_file( $file )
0  'Licensed material - Property of IBM.'
1  'IBM(R) SDK, Java(TM) Technology Edition, Version 6'
2  'IBM(R) Runtime Environment, …
Run Code Online (Sandbox Code Playgroud)

perl file-io perl-module perl-context

3
推荐指数
2
解决办法
229
查看次数

如果未安装postgres,如何安装DBD :: Pg?

我有一个单独的服务器与postgres和Nagios一起运行.我想使用带有nagios的" psql_replication_check.pl "来监视postgres复制状态.此检查脚本需要DBD :: Pg模块才能连接到数据库.安装DBD :: Pg请求pg_config文件的路径.

#perl Makefile.PL 
Configuring DBD::Pg 2.17.1
Path to pg_config? 
Run Code Online (Sandbox Code Playgroud)

我没有权限在Nagios机器上安装postgres.有没有人以前解决过这个问题.

我在两个系统上都有CentOS 5.4.

linux perl perl-module nagios

3
推荐指数
1
解决办法
4153
查看次数

在动态加载的模块perl中调用方法

我正在使用Module :: Load动态加载模块.但是我无法调用模块中定义的方法.这就是我在做的事情

my $module = load("Module");
$module->function();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

没有包或对象引用,无法调用方法"function"

上面的代码有什么问题?

perl perl-module

3
推荐指数
1
解决办法
780
查看次数

在PERL中使用自定义模块

我自己制作了一个自定义PERL模块,当它被同一目录中的脚本调用时,它可以工作,但出于某种明显的原因,它不能从目录外部调用.如何在不安装模块的情况下使用该模块?例如:

use 5.012;
use warnings;
use Y:/my/dir/to/module.pm;
Run Code Online (Sandbox Code Playgroud)

perl perl-module

3
推荐指数
1
解决办法
7701
查看次数

安装Perl DateTime

在为Perl安装DateTime时,我收到以下错误,但它失败了;

#   Failed test 'Make sure we can add 50 years worth of years in America/New_York time zone'
#   at t/30future-tz.t line 45.
Use of uninitialized value in numeric ge (>=) at /home/bensley/.cpan/build/DateTime-0.72/blib/lib/DateTime.pm line 138.

#   Failed test 'Make sure we can add 50 years worth of days in America/Chicago time zone'
#   at t/30future-tz.t line 45.
Use of uninitialized value in numeric ge (>=) at /home/bensley/.cpan/build/DateTime-0.72/blib/lib/DateTime.pm line 138.

#   Failed test 'Make sure we can add 50 years worth …
Run Code Online (Sandbox Code Playgroud)

perl perl-module

3
推荐指数
1
解决办法
4412
查看次数

无法在我的机器上安装Net :: SSH :: Expect perl模块

当我尝试安装Net :: SSH :: Expect perl模块时,我收到以下错误.

perl Makefile.PL
Warning: prerequisite Expect 1.14 not found.
Writing Makefile for Net::SSH::Expect
Writing MYMETA.yml
Run Code Online (Sandbox Code Playgroud)

我期待安装在我的ubuntu机器上.

expect version 5.45
Run Code Online (Sandbox Code Playgroud)

但是在尝试安装它时仍然会向我发出此警告.请指教.

perl perl-module

3
推荐指数
1
解决办法
6204
查看次数

如何在不访问CPAN的情况下使用CPAN模块?

每次我被迫从CPAN检索模块时,我都非常失望.在我工作的大多数环境中,互联网访问受到严格限制或完全被拒绝.在操作系统强化过程中​​已删除所有编译器.在进入或退出网站之前,安全团队会扫描所有数字存储媒体.请注意,我理解安全性,所有这些对我来说都没关系,但......

仅访问CPAN模块提供的代码的建议或最佳做法是什么.

如果我只需要一个模块给我的片段,功能或单一功能串,如何在不安装整个模块的情况下提取"我需要/想要的东西"?请记住,我可能会打印出来,写下来并输入内容,以便通过互联网访问从异地位置传输数据.

perl cpan perl-module

3
推荐指数
1
解决办法
1743
查看次数

在多个脚本中定义公共变量?

我有许多与功能无关的Bash和Perl脚本,但它们的相关之处在于它们在同一个项目中工作.它们在同一个项目中工作的事实意味着我通常指定相同的目录,相同的项目特定命令,每个脚本顶部的相同关键字.

目前,这并没有让我感到困惑,但据我所知,将所有这些值集中在一个地方会更容易,如果有什么变化,我可以更改一次值并让各种脚本接受这些变化.

问题是 - 如何最好地宣布这些价值观?每个脚本中"必需"的单个Perl脚本对Perl脚本的更改要求较少,但不提供Bash脚本的解决方案.使用"key = value"格式的配置文件可能更通用,但要求每个脚本解析配置并有可能引入问题.还有更好的选择吗?使用环境变量?或者Perl可以轻松执行和解释的Bash特定方式?

variables bash perl configuration perl-module

3
推荐指数
1
解决办法
2238
查看次数

如何在Ubuntu中安装ROUGE

虽然有很好的描述如何设置ROUGE评估,但我无法完全完成安装的任何地方.

installation ubuntu perl install perl-module

3
推荐指数
1
解决办法
1413
查看次数

对参与两个参数的哈希进行排序

我有以下格式的密钥哈希:

scaffold_902_159
scaffold_2_1980420
scaffold_2_10
scaffold_10_402
Run Code Online (Sandbox Code Playgroud)

我想打印出以下列格式排序的哈希:

scaffold_2_10
scaffold_2_1980420
scaffold_10_402
scaffold_902_159
Run Code Online (Sandbox Code Playgroud)

所以首先我必须以数字方式订购第一个号码,然后参加最后一个号码.我不希望正则表达式搜索"scaffold_",因为这可能会有所不同.我的意思是,我可以使用其他格式的哈希,例如" blablabla_NUMBER_NUMBER,或blablablaNUMBER_NUMBER ".键_NUMBER的最后一部分是唯一永久的部分.

我有这个代码,但只能按数字排序第一个数字:

my @keys = sort {
          my ($aa) = $a =~ /(\d+)/;
          my ($bb) = $b =~ /(\d+)/;
          $aa <=> $bb;
        } keys %hash;
foreach my $key (@keys) {
   print $key;
}
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

sorting perl perl-module

3
推荐指数
1
解决办法
75
查看次数