NAME
Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists
DESCRIPTION
Conway doesn't mention this, but I think qw()
is an underutilized feature of Perl. Whenever you need to declare a list of one-word literals, the qw()
operator is wonderfully concise and saves you lots of keystrokes. And uusing qw()
makes it easy to add to the list in the future.
@list = ('foo', 'bar', 'baz'); #not ok
@list = qw(foo bar baz); #ok
CONSTRUCTOR
This Policy accepts an additional key-value pair in the constructor. The key must be 'min_elements' and the value is the minimum number of elements in the list. Lists with fewer elements will be overlooked by this Policy. The default is 2. Users of Perl::Critic can configure this in their .perlcriticrc file like this:
[CodeLayout::ProhibitQuotedWordLists]
min_elements = 4
NOTES
In the PPI parlance, a "list" is almost anything with parens. I've tried to make this Policy smart by targeting only "lists" that could be sensibly expressed with qw()
. However, there may be some edge cases that I haven't covered. If you find one, send me a note.
IMPORTANT CHANGES
This policy was formerly called "RequireQuotedWords" which seemed a little counterintuitive. If you get lots of "Cannot load policy module" errors, then you probably need to change "RequireQuotedWords" to "ProhibitQuotedWordLists" in your .perlcriticrc file.
AUTHOR
Jeffrey Ryan Thalhammer <thaljef@cpan.org>
Copyright (c) 2005-2006 Jeffrey Ryan Thalhammer. All rights reserved.
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.