Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock(3pm)

Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock3pm

Forbid $b before $a in sort blocks.

Affiliation

This Policy is part of the core Perl::Critic distribution.

Overview

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

Configuration

This Policy is not configurable except for the standard options.

Releases

10 releases since Debian 5.0 (Lenny); the text changed 9 times.

  1. 5.0
  2. 6.0
  3. 7
  4. 8
  5. 9
  6. 10
  7. 11
  8. 12
  9. 13
  10. Arch

Author

Chris Dolan <[email protected]>

From perl-perl-critic 1.156-3 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.