in reply to Re^2: Duplicate File Finder script reporting multiples
in thread Duplicate File Finder script reporting multiples

Ad 1) The subroutine check_file is declared in the scope where %files is declared. If you dereference an undefined value that's not read only, it autovivifies.

Ad 2) The declaration doesn't change the value. The assignment would - try changing it to

my %files = ();
لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ