2019-08-12T12:20:32
FIFOaus Deiner korrigierten Neufassung:
sub grepper {
(grep {$_->[0] eq 'a3333'} @stats)[0]->[1]++;
}
Das funktioniert nur, wenn 'a3333' genau einmal vorkommt, da nur das Element 0 vom ge
grepten Ausschnitt aus @stats modifiziert wird.
(
edit: In diesem Fall ist die
for-Schleife mit Abbruch nach dem ersten Match dann effizienter.)
Wenn 'a3333' nie vorkommt, erhältst Du einen Fehler "Can't use an undefined value as an ARRAY reference ..."
Das ist richtig, entspricht damit aber genau dem Verhalten des ursprünglichen Code von Bianca. Der Zweck war hier nur die Prüfung, dass auch diese Variante keinen Performance-Nachteil hat.