The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Perl::Critic::Policy::Lax::ProhibitComplexMappings::LinesNotStatements - prohibit multiline maps, not multistatement maps


version 0.014


Yes, yes, don't go nuts with map and use it to implement the complex multi-pass fnordsort algorithm. But, come on, people! What's wrong with this:

  my @localparts = map { my $addr = $_; $addr =~ s/\@.+//; $addr } @addresses;

Nothing, that's what!

The assumption behind this module is that while the above is okay, the bellow is Right Out:

  my @localparts = map {
    my $addr = $_;
    $addr =~ s/\@.+//;
  } @addresses;

Beyond the fact that it's really ugly, it's just a short step from there to a few included loop structures and then -- oops! -- a return statement. Seriously, people, they're called subroutines. We've had them since Perl 3.


This library should run on perls released even a long time ago. It should work on any version of perl released in the last five years.

Although it may work on older versions of perl, no guarantee is made that the minimum required version will not be increased. The version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl.


Ricardo Signes <>


This software is copyright (c) 2022 by Ricardo Signes <>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.