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 <dbook@cpan.org>

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