The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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 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.