# Hash my %hash4html = (); foreach my $key (keys (% {$hash})) { ### Hash für Info $hash4html{$key}{'Info'} = {% {$hash->{$key}->{'Info'}}}; foreach my $key2 (keys (% {$hash->{$key}->{'Info'}})) { foreach my $key2 (keys (% {$hash->{$key}->{Unterschied}})) { # Abfrage ob der Wert des Keys gleich '???' ist if($hash->{$key}->{'Unterschied'}->{$key2} eq '???') { # neu; my (undef,@array_fragezeichen) = split('/', $key2); unshift(@array_fragezeichen,'new'); my $neu = Dive( $hash->{$key},@array_fragezeichen); ### Hash für neu $hash4html{$key}{'???'}{$key2}{neu} =$neu; # alt (undef, @array_fragezeichen) = split('/', $key2); unshift(@array_fragezeichen, 'old'); my $alt = Dive( $hash->{$key}, @array_fragezeichen); ### Hash für alt $hash4html{$key}{'???'}{$key2}{alt} =$alt; } # Abfrage ob der Wert des Keys gleich '+++' ist elsif ($hash->{ $key }->{ 'Unterschied' }->{$key2} eq '+++') { # plus_neu my (undef, @array_plus) = split('/', $key2); unshift(@array_plus,'new'); my $plus_neu = Dive( $hash->{$key},@array_plus); ### Hash für neu $hash4html{$key}{'+++'}{$key2}{neu} =$plus_neu; } # Abfrage ob der Wert des Keys gleich '---' ist elsif ($hash->{ $key }->{ 'Unterschied' }->{$key2} eq '---') { # minus_alt my (undef, @array_minus) = split('/', $key2); unshift(@array_minus,'old'); my $minus_alt = Dive( $hash->{$key}, @array_minus); ### Hash für alt $hash4html{$key}{'---'}{$key2}{alt} =$minus_alt; } } } }