NAME
Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists
DESCRIPTION
Conway doesn't mention this, but I think qw()
is an underused feature of Perl. Whenever you need to declare a list of one-word literals, the qw()
operator is wonderfully concise, and 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.