use Data::Dumper; print Dumper \%samples; #### # these 2 lines my $sample; foreach $sample (@samples) { # are usually better written as foreach my $sample (@samples) {