my @sites = qw(site1 site2); my %lookup; foreach (@sites) { foreach my $h (0 .. 23) { $lookup{$_}{$h} = 0; } }