我正在尝试开始使用Perlcritic,我正在努力改进我自己的配置,省略了我不同意或不认为适合我的所有规则.
我知道我可以使用.perlcrirticrc文件执行此操作,并且我可以使用该文件中的exclude指令来排除我不同意的策略,但为此,我需要找到策略的名称导致我想要抑制的错误.
我无法在任何地方的CPAN文档中找到策略列表,并且错误消息没有给出生成的策略的名称,所以我完全不知道我应该如何生成我的策略排除清单.
如果有人能指出我将错误映射到策略的方法,或者甚至只是将我指向核心中的策略列表,我将非常感激!
我只是在一些Perl代码的中间,我发现自己编写了如下所示的一行代码的怪异.Perl充满了很棒的小捷径,只需要比这更好的方式吗?
那么 - 有更好的方法来做到这一点:
unless($config->{'case_transform'} eq 'NONE' ||
$config->{'case_transform'} eq 'UPPER' ||
$config->{'case_transform'} eq 'LOWER' ||
$config->{'case_transform'} eq 'CAPITAL' ||
$config->{'case_transform'} eq 'RANDOM')
{
$config->{'case_transform'} = 'NONE';
}
Run Code Online (Sandbox Code Playgroud) 我有一个相当奇怪的情况.我正在尝试使用Perl自动备份SVN存储库集合.我正在炮轰svnadmin dump命令,该命令将转储发送到STDOUT,以及遇到STDERR的任何错误.
我需要运行的命令将采用以下形式:
svnadmin dump $repo -q >$backupFile
Run Code Online (Sandbox Code Playgroud)
STDOUT将转到备份文件,但是,我需要在我的Perl脚本中捕获STDERR.
处理这种情况的正确方法是什么?
编辑:澄清:STDOUT将包含SVN转储数据STDERR将包含可能发生的任何错误
STDOUT需要以文件结尾,而STDERR需要以Perl结尾.在任何情况下都没有任何东西,但STDOUT的原始内容最终会在该流中或转储将被破坏,我会有比没有备份更坏的东西,一个糟糕的!
我有一个Perl脚本,必须包装一个产生大量输出的PHP脚本,并且运行大约需要半个小时.
我正在炮轰:
print `$command`;
Run Code Online (Sandbox Code Playgroud)
这就是调用PHP脚本的意义上的工作,它完成了它的工作,但是,在PHP脚本完成半小时后,Perl没有输出.
有没有一种方法可以解决,以便PHP收到它后立即打印出来的输出?