$hash1{$logt}{$keylogs}[1]; $hash2{$p}{$pkeylogs}; $hash3{$p} {$logt} =>$totalscore; foreach my $keylogt (keys(%hash1)){ foreach my $keyp (keys(%hash2)){ foreach my $keypinner (keys %{$hash2{$keyp}}){ foreach my $keylogtinner (keys %{$hash1{$keylogt}}){ until($keypinner eq $keylogtinner){ ... $totalscore+=$hash1{$keylogt}{$keylogtinner}[1]; } else{ $totalscore+=$delta; } } } } }