# 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;
}
}
}
}