NAME

Perl::Critic::Policy::Community::DollarAB - Don't use $a or $b as variable names outside sort

DESCRIPTION

The special variables $a and $b are reserved for sort() and similar functions which assign to them to iterate over pairs of values. These are global variables, and declaring them as lexical variables with my to use them outside this context can break usage of these functions. Use different names for your variables.

my $a = 1;                  # not ok
my $abc = 1;                # ok
sort { $a <=> $b } (3,2,1); # ok

AFFILIATION

This policy is part of Perl::Critic::Community.

CONFIGURATION

This policy can be configured to allow $a and $b in additional functions, by putting an entry in a .perlcriticrc file like this:

[Community::DollarAB]
extra_pair_functions = pairfoo pairbar

AUTHOR

Dan Book, dbook@cpan.org

COPYRIGHT AND LICENSE

Copyright 2015, Dan Book.

This library is free software; you may redistribute it and/or modify it under the terms of the Artistic License version 2.0.

SEE ALSO

Perl::Critic