$ perl -MData::Dumper=Dumper -e 'open(my $fh,".bashrc") or die; my %h=(f => $fh);print Dumper(\%h); while(<$h{f}>){print}' $VAR1 = { 'f' => \*{'::$fh'} }; GLOB(0x800d80) $ perl -MData::Dumper=Dumper -e 'open(my $fh,".bashrc") or die; my @h=($fh);print Dumper(\@h); while(<$h[0]>){print}' $VAR1 = [ \*{'::$fh'} ]; GLOB(0x800d80)