2014-11-27 3 views
0

Im получения Code before warnings are enabled из Perl :: критика, хотя у меня есть -w указано в притонеPerl :: Критик: Код перед тем предупреждения активируются при использовании -w

#/USR/бен/Perl - w

Я действительно не хочу проходить и заменять все экземпляры. Я могу что-то сделать. Кроме того, мне нужен perl :: crit, чтобы убедиться, что все perl имеют предупреждения.

+1

'Perl -i ~ -pe '! S | #/USR/бен/Perl \ K -w | предупреждения \ п \ Nuse; |' * pl' –

ответ

3

Вы говорите, что perlcritic не делает то, что вы хотите, но хотите, чтобы он делал то, что вы хотите. Таким образом, вам понадобится изменить perlcritic, или, точнее, Perl:: Critic:: Policy:: TestingAndDebugging:: RequireUseWarnings. У вас не должно возникнуть проблем с принятием ваших изменений, потому что отсутствие сиб-анализа в списке отображается как ошибка в документации.


Возможно, вам будет проще редактировать файлы. Это довольно тривиально, чтобы сделать это механически. Предполагая, что вы уже используете use strict;,

find -type f \(-name '*.pl' -o -name '*.pm' \) ! -name '*~' -exec \ 
    perl -i~ -0777pe's/^(\s*)use strict\b.*\n\K/${1}use warnings;\n/mg' {} +