Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock - Forbid $b before $a in sort blocks.
This Policy is part of the core Perl::Critic distribution.
Conway says that it is much clearer to use reverse
than to flip $a
and $b
around in a sort
block. He also suggests that, in newer perls, reverse
is specifically looked for and optimized, and in the case of a simple reversed string sort
, using reverse
with a sort
with no block is faster even in old perls.
my @foo = sort { $b cmp $a } @bar; #not ok
my @foo = reverse sort @bar; #ok
my @foo = sort { $b <=> $a } @bar; #not ok
my @foo = reverse sort { $a <=> $b } @bar; #ok
This Policy is not configurable except for the standard options.
Chris Dolan <cdolan@cpan.org>
Copyright (c) 2006-2011 Chris Dolan.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.