perl::critic::policy::builtinfunctions::prohibitvoidgrep(3pm) [debian man page]
Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrepUser)Contributed Perl DocumenPerl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep(3pm)NAME
Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep - Don't use "grep" 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::ProhibitVoidGrep(3pm)
Check Out this Related Man Page
Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrepUser Contributed Perl DocumentaPerl::Critic::Policy::BuiltinFunctions::RequireBlockGrep(3)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
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::RequireBlockGrep(3)
Thanks , franklin you method worked, i knew i had to use a while loop and getline in there just didnt know the proper order :)
Hi everyone, im trying to make the following command line shorter by introducing a script that join up all the grep commands
./new1a < numbers.txt | grep -i -v '^a '... (5 Replies)
Hi,
probably a newbie question..... But there it goes. :o
I have a list words. This list is taken out of a file with grep and cut.
my @system = (`grep up system_list| cut -d':' -f1`
);
system=
sm00xp03
sm01ftp02
sm00ssh12
What I want to have is a list, with each of the words in the... (1 Reply)
Hi,
I have the following array.
@a=( ,);
and want to
push @a,()
if the 6 is not in the $a.
This is simplified out of a longer script but im trying for days now and get sick of it.
Can any of you help me on this.
Cheers
Markus (1 Reply)
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)
I am writing a Perl script that uses the grep command and instead of writing to the output file it just writes to the screen.
#!/usr/bin/perl
#
#
@ffiles = `ls CP*BUFFER*.dat`;
foreach my $file (@ffiles){
@data = split(/./, $file);
$filename = $data;
$extension = $data;
#print... (2 Replies)
Hello,
I know it is too simple but I do not know..
:/
#!/bin/bash
for file in *.mp4
do
echo "$file"
ffmpeg -i $file 2>&1 | grep Duration |cut -d ' ' -f 4 | sed s/,//
done
Expected Output:
NF_-_Let_You_Down-fbHbTBP_u7U.mp4 00:03:35.74
NF_-_WHY-zuJV-DAv_wE.mp4 00:03:11.87... (7 Replies)