NAME

Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep - Write grep { $_ =~ /$pattern/ } @list instead of grep /$pattern/, @list.

AFFILIATION

This Policy is part of the core Perl::Critic distribution.

DESCRIPTION

The expression forms of grep and map are awkward and hard to read. Use the block forms instead.

@matches = grep  /pattern/,    @list;        #not ok
@matches = grep { /pattern/ }  @list;        #ok

@mapped = map  transform($_),    @list;      #not ok
@mapped = map { transform($_) }  @list;      #ok

CONFIGURATION

This Policy is not configurable except for the standard options.

SEE ALSO

Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval

Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap

METADATA

Explanation

First Edition of Perl Best Practices

Pages

169

Chapter/Section

8/13

Description

Expression form of "grep"

Default Severity

High

Default Themes

core bugs pbp

Applies To

PPI::Token::Word

AUTHOR

Jeffrey Ryan Thalhammer <thaljef@cpan.org>

COPYRIGHT

Copyright (c) 2005-2009 Jeffrey Ryan Thalhammer. All rights reserved.

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.