DOKK / manpages / debian 12 / libperl-critic-perl / Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock.3pm.en
Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock(3pm) User Contributed Perl Documentation Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock(3pm)

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.

2023-01-15 perl v5.36.0