Я пытаюсь исключить проверки Perl Critic RequireRcsKeywords в одном скрипте Perl. Я не хочу изменять свою политику по умолчанию в .perlcriticrc, поэтому я добавил строку «без критики» в начало исходного кода. Несмотря на это изменение, Perl Critic по-прежнему жалуется на отсутствие ключевых слов RCS.
Вот мой контрольный пример (crittest.pl):
#!/usr/bin/perl
## no critic (RequireRcsKeywords)
use warnings;
use strict;
print "Hello, World.\n";
Когда я выполняю perlcritic -1 --verbose 8 critictest.pl
, я получаю следующий вывод:
[Miscellanea::RequireRcsKeywords] RCS keywords $Id$ not found at line 1, column 1. (Severity: 2)
[Miscellanea::RequireRcsKeywords] RCS keywords $Revision$, $HeadURL$, $Date$ not found at line 1, column 1. (Severity: 2)
[Miscellanea::RequireRcsKeywords] RCS keywords $Revision$, $Source$, $Date$ not found at line 1, column 1. (Severity: 2)
[Modules::RequireVersionVar] No package-scoped "$VERSION" variable found at line 1, column 1. (Severity: 2)
[Miscellanea::ProhibitUselessNoCritic] Useless '## no critic' annotation at line 2, column 1. (Severity: 2)
[InputOutput::RequireCheckedSyscalls] Return value of flagged function ignored - print at line 5, column 1. (Severity: 1)
Я знаю, что Perl Critic работает, потому что, если я добавлю ## no critic (RequireCheckedSyscalls)
, то эта ошибка в выводе исчезнет. Я также попытался добавить `## no critic (Miscellanea::RequireRcsKeywords)
, но это не вызвало каких-либо изменений. Как правильно указать Perl Critic игнорировать политику RequireRcsKeywords в моем файле без использования внешнего файла политики?
РЕДАКТИРОВАТЬ: я использую Perl 5.10.1, Perl Critic 1.108 и Debian 6.0.3.