in reply to desire to pass file handles by value

Besides what Roger said, if this is all what you want to do, you can:

use Data::Dumper; use strict; use warnings; my @lines = <DATA>; my $count = {}; map {chomp;$count->{$_} ++} @lines; print Dumper($count); __DATA__ a a a c d e