小编Dav*_*avs的帖子

Perltidy autoformat hashref作为参数

我有以下代码片段:

my $obj = $class->new({ 
    schema    => $schema,
    reminder  => $reminder,
    action    => $action,
    dt        => $dt,     
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,perltidy尝试将其格式化为某种东西,如下所示:

my $obj = $class->new(
    {   schema   => $schema,
        reminder => $reminder,
        action   => $action,
        dt       => $dt,
    }
);
Run Code Online (Sandbox Code Playgroud)

我不喜欢花括号放置.我可以以某种方式配置perltidy来格式化它像第一个例子?(跳过块的格式不是一个选项.我想将每个更长的hashref格式化为该格式,因此它更紧凑和可读)

到目前为止我的perltidyrc:

-l=79  # Max line width is 78 cols
-i=4   # Indent level is 4 cols
-ci=4  # Continuation indent is 4 cols
-st    # Output to STDOUT
-se    # Errors to STDERR
-vt=2  # Maximal vertical tightness
-cti=0 # No …
Run Code Online (Sandbox Code Playgroud)

perl autoformatting perl-tidy

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

使用Moo(se)而不是Perl OO的真正优势

我目前正在一家公司工作,我们正在进行Perl开发.然而,代码非常混乱,使用了非常古老的Perl习语,所以我决定慢慢清理它并教我的同事关于Modern :: Perl,良好的软件设计,OOP - 抽象,耦合,继承,SOLID原则等等.有一个缺点,我在这里工作只有一个月,所以我在这里很新.

我的问题是:我可以(如果是这样的话)说服他们考虑从普通的Perl OO切换到Moo(se)吗?它的优点是什么?我需要他们考虑的充分理由.

使用这些模块是否有很大的性价比?我从经验中知道,使用这些模块非常舒服(特性也非常好),但我担心由于性能原因它们会拒绝切换.

所以.有没有优势,你会如何描述那些陷入2000年前时代的Perl开发者?

perl moose moo

6
推荐指数
2
解决办法
935
查看次数

Perl多个子参数,不带逗号

有可能用pert来实现以下语法吗?

sub a {
    my ($first, $second) = @_;
    print "$first $second";
}

sub b {
    my ($param, $code) = @_;
    my $res = $code->();
    return "$param $res";
}

a 'param1' b 'param2' => sub { return "param3" };
#output would be "param1 param2 param3"
Run Code Online (Sandbox Code Playgroud)

a是sub,它会进入@_'param1'并且返回任何b(将会有'param2'和@_内的subref).我喜欢在'b'之前没有逗号.可能吗?

perl

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

标签 统计

perl ×3

autoformatting ×1

moo ×1

moose ×1

perl-tidy ×1