Я хочу посчитать значения массива внутри хеша и добавить их в хеш. Мой код выглядит так:
while(my $line=<$fh>) {
$timestamp = $1 if $line=~ /^\s*<timestamp>(.*)</;
$timestamp =~ s/^(\d\d\d\d-\d\d-\d\d)T.*\s*$/$1/;
$errorCode= $1 if $line=~ /^\s*<errorCode>(.*)</;
$hash{$timestamp} = {} unless($hash{$timestamp});
$hash{$timestamp}{$errorCode} = [] unless($hash{$timestamp}{$errorCode});
push @{$hash{$timestamp}{$errorCode}}, $1 if $line =~ /<errorText>(.*)</;
}
выход
'2019-04-05' => { '5005' => [
'Dies ist kein aktives Konto',
'Dies ist kein aktives Konto'
],
'7112' => [
'Eingabefelder nicht richtig gefuellt.',
'Eingabefelder nicht richtig gefuellt.',
'Eingabefelder nicht richtig gefuellt.'
],
}
Я бы хотел получить что-то вроде этого:
'2019-04-05' => { '5005' => { 'Dies ist kein aktives Konto' => 2 },
'7112' => { 'Eingabefelder nicht richtig gefuellt.' => 3 },
}
Может ли кто-нибудь помочь мне с этим? Заранее спасибо.