我想在一個Perl腳本中排除對Perl Critic的RequireRcsKeywords的檢查。我不想在.perlcriticrc中更改我的默認策略,所以我在源代碼的頂部添加了「無批評」行。儘管如此,Perl Critic仍然抱怨缺少RCS關鍵字。從Perl Critic中排除RequireRcsKeywords的正確方法是什麼?
這裏是我的測試案例(critictest.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的批評家是工作,因爲如果我添加## no critic (RequireCheckedSyscalls)
那麼輸出中的錯誤就消失了。我也嘗試加入`## no critic (Miscellanea::RequireRcsKeywords)
,但這並沒有引起任何改變。告訴Perl Critic忽略文件中的RequireRcsKeywords策略而不必使用外部策略文件的正確方法是什麼?
編輯:我使用的是Perl 5.10.1,Perl Critic 1.108和Debian 6.0.3。
感謝您指出。我錯過了它。刪除第一行現在讓Perl Critic忽略該策略。不幸的是,我不能再運行這個命令,因爲'#!'不見了,所以不用'perl'來加前綴。 – Starfish 2012-02-07 19:09:36
提交此請求的請求:http://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Critic – toolic 2012-02-07 19:23:15