我有以下代码片段:
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开发.然而,代码非常混乱,使用了非常古老的Perl习语,所以我决定慢慢清理它并教我的同事关于Modern :: Perl,良好的软件设计,OOP - 抽象,耦合,继承,SOLID原则等等.有一个缺点,我在这里工作只有一个月,所以我在这里很新.
我的问题是:我可以(如果是这样的话)说服他们考虑从普通的Perl OO切换到Moo(se)吗?它的优点是什么?我需要他们考虑的充分理由.
使用这些模块是否有很大的性价比?我从经验中知道,使用这些模块非常舒服(特性也非常好),但我担心由于性能原因它们会拒绝切换.
所以.有没有优势,你会如何描述那些陷入2000年前时代的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'之前没有逗号.可能吗?