小编Fir*_*ras的帖子

为什么Perl的eval没有从Test :: Cmd :: Common-> unlink中捕获问题?

我有以下perl代码:

use strict;
use warnings;
use Test::Cmd::Common;

my $path = "/something/not/available";
my $test = Test::Cmd::Common->new(string => 'File system operations');

eval{
        $test->unlink("$path");
};
ok(!$@, "file unlike");

print "done.\n";
Run Code Online (Sandbox Code Playgroud)

$ test-> unlink()行将失败并抛出异常.但问题是:eval没有处理该异常并且代码执行正在被中断.

输出 :

$ perl test.pl 
could not unlink files (/something/not/available): No such file or directory
NO RESULT for test at line 561 of /home/y/lib/perl5/site_perl/5.8/Test/Cmd/Common.pm (Test::Cmd::Common::unlink)
    from line 9 of test.pl.
Run Code Online (Sandbox Code Playgroud)

eval在这里做得对吗?或者我误解了什么?

F.

perl eval

5
推荐指数
1
解决办法
371
查看次数

Test :: File :: Find :: Rule检查我们所有的perl脚本是否都使用严格

use warnings;
use Test::More;
use File::Find::Rule;
use Test::File::Find::Rule;

my $rule = File::Find::Rule->file->name('*.pl')->not_grep(qr/^\s*use\s+strict;/m, sub { 1 });
match_rule_no_result($rule, ".", 'use strict usage');
done_testing();
Run Code Online (Sandbox Code Playgroud)

输出是:

out put :
ok 1 - use strict usage
1..1
Run Code Online (Sandbox Code Playgroud)

它总是通过测试,即使我的脚本不使用strict,就像这个位于"."内的脚本一样.目录.在http://metacpan.org/pod/Test::File::Find::Rule中可以使用相同的代码作为示例

任何线索?

F.

testing perl cpan

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

为什么我得到ARRAY(0x8470d6c)而不是我的YAML配置中的列表?

我有这个YAML文件:

name: Firas
dirs: [/bin/, /home/phiras/]
Run Code Online (Sandbox Code Playgroud)

我在perl中使用YAML :: Syck来解析这个文件,我在访问dirs项时遇到问题.我的代码是:

#!/usr/local/bin/perl

use strict;
use warnings;
use YAML::Syck;
use ConfigLoader;
use Data::Dumper;

my $conf = LoadFile("myconf.yml") || die("Error: Open config file \n");

print $conf->{name}, "\n";

my @dirs = $conf->{dirs};

print Dumper @dirs;
foreach(@dirs){
        print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)

输出是:

    Firas
    $VAR1 = [
              '/bin/',
              '/home/phiras/'
            ];
    ARRAY(0x8470d6c)

正如您所看到的,循环正在打印一个项目,它被视为数组.我是以正确的方式做到的吗?

perl yaml

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

标签 统计

perl ×3

cpan ×1

eval ×1

testing ×1

yaml ×1