my @countries = ( 'Algeria', 'Argentina', 'Zaire', ); #### my %HoH; open INFILE, '< /path/to/datafile.txt' or die $!; #### while () { ( my $quarter, $_) = split ':'; @{$HoH{$quarter}}{@countries} = split " "; # repaired typo, ++petral } #### close INFILE or die $!;