perl::critic::policy::builtinfunctions::prohibitcomplexmappings(3pm) [debian man page]
Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMUsernContributed Perl Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings(3pm)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.14.22012-06-07Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings(3pm)
Check Out this Related Man Page
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)
I need a good one-liner to look in a specific text file for a line of text and if it's not found, add it at the bottom of the file.
Perl, sed, not particular, whatever works. To make matters worse, the line of text is in a config script with lots of special characters and needs lots of... (3 Replies)
I was working on some Perl code that does signal handling and I came across this one liner and wasn't sure what it was doing.
local $SIG{__DIE__} = sub {$! = 2; die $_;};
I think the first part of the anonymous subroutine is setting $! to 2, but I am not sure what the second part is doing. ... (1 Reply)
Thanks for giving your time and effort to answer questions and helping newbies like me understand awk.
I have a huge file, millions of lines, so perl takes quite a bit of time, I'd like to convert these perl one liners to awk.
Basically I'd like all lines with ISA sandwiched between... (9 Replies)
I have the following perl one-liner to get yesterday's date, but I would like it in the form of dd-MMM-yy (for example: 01-JAN-12). Can someone alter the below code so I get the format I want? Also, could someone also give me a line for dd-Mmm-yy (for example 01-Jan-12)?
Code:
YEST=`perl -w... (3 Replies)
ignore the simplicity of the foo file, my actual file is much more hardcore but this should give you the jist of it. need to combine the two awks into one liner. essentially, need to return the value of one particular field in a file that has multiple comma separated fields. thanks guys
cat foo... (1 Reply)
Hi all,
I need a Perl one liner which prints a newline into a .txt file, only where the line starts with "/mediawiki-1.19.0/". It should add the newline to the line before.
My problem is, when I try to realize this (with my little knowledge :rolleyes: ) i come to the point where the // are... (4 Replies)
Ive been trying to move to Perl. It has been a struggle.
My question is, is there a good resource that explains nesting statements.
As an example.
To change
primary
Factory CTS 1.9.0(46) P1
*Slot 1 CTS 1.10.2(42) P1
To
primary *Slot 1 CTS 1.10.2(42) P1
... (5 Replies)
I have a file like
file.
file.TODAY.THISYEAR
file.TODAY.LASTYEARI want to substitute the words in caps with their actual values so that output should look like
file.140805
file.140805.2014
file.140805.2013For this I am reading the file line bye line in an array and using multiple map... (1 Reply)
Hello:
Have a very annoying problem:
Need to extract paragraphs with a specific string in them from a very large file
with a repeating record separator.
Example data: a file called test.out
CREATE VIEW view1
AS something
FROM table1 ,table2 as A, table3 (something FROM table4)
FROM... (15 Replies)
Hi,
Is there somebody there to post an idea on how to convert this 5 liner row to 1 liner or tab delimiter to be import to database.
Here the text file format:
Description: Description1
Link: https://www.google.com
Date: June 2, 2018
Time: 00:07:44
Age: 1 days ago
Description:... (2 Replies)