perl::critic::policy::builtinfunctions::requireblockmap(3) [centos man page]
Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap(User Contributed Perl DocumentatPerl::Critic::Policy::BuiltinFunctions::RequireBlockMap(3)NAME
Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap - Write "map { $_ =~ /$pattern/ } @list" instead of "map /$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::RequireBlockGrep
AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
COPYRIGHT
Copyright (c) 2005-2011 Imaginative Software Systems. 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.
perl v5.16.3 2014-06-09 Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap(3)
Check Out this Related Man Page
Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap(User Contributed Perl DocumentPerl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap(3pm)NAME
Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap - Don't use "map" in void contexts.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
"map" and "grep" are intended to be pure functions, not mutators. If you want to iterate with side-effects, then you should use a proper
"for" or "foreach" loop.
grep{ print frobulate($_) } @list; #not ok
print map{ frobulate($_) } @list; #ok
grep{ $_ = lc $_ } @list; #not ok
for( @list ){ $_ = lc $_ }; #ok
map{ push @frobbed, frobulate($_) } @list; #not ok
@frobbed = map { frobulate($_) } @list; #ok
CONFIGURATION
This Policy is not configurable except for the standard options.
AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
COPYRIGHT
Copyright (c) 2005-2011 Imaginative Software Systems. 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.
perl v5.14.2 2012-06-07 Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap(3pm)
Hi experts,
I have many occurances of the following headers in a file. I need to grep for the word changed/inserted in the header, calculate the difference between the two numbers and list the count incrementally.
Headers in a file look like this:
-------------------
---------------------... (6 Replies)
Hello ,
Please can someone tell me what exactly happens when the below filehandler is chomped into an array and later mapped.
$lcpLog="logcopy\@".getTimestamp."\log";
open CFg ,"< $lcpcfg";
chomp(@cfg = <CFG>);
close CFG;
@cfg=grep { $_ ne ' ' } map { lc + (split /\s*\/\//) }... (0 Replies)
Hi All,
I have a .TSV extension file having ~1 Gig data and I need to grep a pattern in that file using perl. I am not able to read the file using perl any suggestions on this/ If I Change the format my data gets mismangled so I am bothered about using specific format as well.
#!... (3 Replies)
Hi
I am trying to issue a system call in my Perl script based on the presence of certain pattern in the other file. The pattern is stored in the variable. Can somebody help me with the syntax. This is an example:
#!/usr/bin/perl
open(MYFILE, "/t1/bin/t1syschk.cmd");
$pattern=cmprsvc;
system... (3 Replies)
Hi guys,
I'm trying to learn grep and map and having a little problem.
Let's say I have a file which contains:
Apple: abcdcabdadddbac
I want to replace any combinations of three of abcd, thus when I do this:
print grep {s/{3}/X/g} <F>; # will do the subtitution fine, output XXXX
... (1 Reply)
Hello,
I am working on a Perl script to run from an AIX Nim server to extract hardware errors from our Linux server using various forms of grep statements -
I have all my hosts in a text file and a command is run from the nim server to each host to pull out data from /var/log/messages and... (5 Replies)
I'm attempting to use grep in Perl with very little success.
What I would like to do in Perl is get the output of the following grep code:
grep -l 'pattern' *
This gives me a list of all the files in a directory that contain the pattern that was searched.
My attempts to do this in Perl... (4 Replies)
Hi,
A perl newbie here so pretty sure it's something simple. Trying to figure out how to count matches with perl pattern matching. The following script opens a text data file and finds lines containing
"PORT:" and I'd like to count how many of these are found.
Any ideas?
open(LOG,"<... (3 Replies)
Hi,
I am trying with the below Perl command to print the first field when the second field matches the given pattern:
perl -lane 'open F, "< myfile"; for $i (<F>) {chomp $i; if ($F =~ /patt$/) {my $f = (split(" ", $i)); print "$f";}} close F' dummy_file
I know I can achieve the same with the... (7 Replies)