NAME

   Perl::Critic::Policy::Variables::NameReuse - Don't reuse names for
   different types of variables

SYNOPSIS

     perlcritic --single-policy=Variables::NameReuse script.pl
     perlcritic --single-policy=Variables::NameReuse lib/

     # .perlcriticrc
     severity = 1
     only = 1
     [Variables::NameReuse]

DESCRIPTION

   This policy checks for the existence of multiple variables with the
   same name in a file. This can be confusing especially when accessing
   elements of variables or using list or key-value slices. For example,
   the code could access both $foo and $foo[0] but these actually refer to
   the unrelated variables $foo and @foo.

     my $foo = @foo;             # not ok
     my @bar = @bar{'a','b'};    # not ok
     my $count = @foo;           # ok
     my @values = @bar{'a','b'}; # ok

AFFILIATION

   This policy has no affiliation.

CONFIGURATION

   This policy is not configurable except for the standard options.

BUGS

   Report any issues on the public bugtracker.

AUTHOR

   Dan Book <[email protected]>

COPYRIGHT AND LICENSE

   This software is Copyright (c) 2018 by Dan Book.

   This is free software, licensed under:

     The Artistic License 2.0 (GPL Compatible)

SEE ALSO

   Perl::Critic::Policy::Variables::ProhibitReusedNames - instead
   prohibits redeclaring the same variable name across different scopes