Perl::...idGrep(3pm)

🌸 NAME 🌸

okay so bestie, this is the manual page for Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep (3pm), coming at you from User Contributed Perl Documentation. The whole mission is right there in the name: don’t use grep in void contexts. periodt. πŸ’…

πŸ’– AFFILIATION πŸ’–

This Policy is part of the core Perl::Critic distribution. core distribution behavior, we love to see it. ✨

✨ DESCRIPTION ✨

map and grep are intended to be pure functions, not mutators. no cap. If you want to iterate with side-effects, then you should use a proper for or foreach loop. that’s the vibe check. 🫢

Here’s the receipts β€” the page’s examples, exactly as written:

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. that’s it β€” no secret knobs, no extra sliders. πŸŽ€

πŸ¦‹ AUTHOR πŸ¦‹

The author is Jeffrey Ryan Thalhammer <jeff@imaginative-software.com> β€” iconic author behavior. πŸ¦‹

The legal tea, exactly:

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.


okay that’s the whole page, bestie β€” perl v5.42.0, dated 2024-10-23, and the footer tag is Perl::...idGrep(3pm). go forth and don’t void your grep πŸ’–βœ¨

πŸ“¦ where this page comes from