centos man page for perl::critic::policy::builtinfunctions::prohibitcomplexmappings

Query: perl::critic::policy::builtinfunctions::prohibitcomplexmappings

OS: centos

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMUsernContributed Perl DoPerl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings(3)

NAME
Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings - Map blocks should have a single statement.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
The map function can be confusing to novices in the best of circumstances. Mappings with multiple statements are even worse. They're also a maintainer's nightmare because any added complexity decreases readability precipitously. Why? Because map is traditionally a one-liner converting one array to another. Trying to cram lots of functionality into a one-liner is a bad idea in general. The best solutions to a complex mapping are: 1) write a subroutine that performs the manipulation and call that from map; 2) rewrite the map as a for loop.
CAVEATS
This policy currently misses some compound statements inside of the map. For example, the following code incorrectly does not trigger a violation: map { do { foo(); bar() } } @list
CONFIGURATION
By default this policy flags any mappings with more than one statement. While we do not recommend it, you can increase this limit as follows in a .perlcriticrc file: [BuiltinFunctions::ProhibitComplexMappings] max_statements = 2
AUTHOR
Chris Dolan <cdolan@cpan.org>
CREDITS
Initial development of this policy was supported by a grant from the Perl Foundation.
COPYRIGHT
Copyright (c) 2007-2011 Chris Dolan. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.16.3 2014-06-09 Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings(3)
Related Man Pages
perl::critic::policy::builtinfunctions::prohibitcomplexmappings(3) - centos
perl::critic::policy::builtinfunctions::prohibitbooleangrep(3pm) - debian
perl::critic::policy::builtinfunctions::prohibitvoidgrep(3pm) - debian
perl::critic::policy::builtinfunctions::prohibitvoidmap(3pm) - debian
perl::critic::policy::builtinfunctions::requireblockgrep(3pm) - debian
Similar Topics in the Unix Linux Community
Need one-liner to look for a line and add it if not found
Combine these two into one liner awk?
Any awk one liner to print df output?
Perl combine multiple map statements
Help with print if two columns is somehow similiar