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

NAME

Perl::Critic::Policy::Lax::ProhibitComplexMappings::LinesNotStatements

DESCRIPTION

Yes, yes, don't go nuts with map and use it to implement the complex multi-pass fnordsort algorithm. But, come on, guys! 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/\@.+//;
    $addr
  } @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.

AUTHOR

Ricardo SIGNES <rjbs@cpan.org>

Adapted from BuiltinFunctions::ProhibitComplexMappings by Chris Dolan.

COPYRIGHT

Copyright (c) 2006 Ricardo Signes and Chris Dolan.

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