Thread Syntax Zugriff Array Index (23 answers)
Opened by bianca at 2019-08-11 08:23

haj
 2019-08-12 16:21
#190367 #190367
User since
2015-01-07
551 articles
BenutzerIn

user image
2019-08-12T12:20:32 FIFO
aus Deiner korrigierten Neufassung:

Code (perl): (dl )
1
2
3
sub grepper {
    (grep {$_->[0] eq 'a3333'} @stats)[0]->[1]++;
}


Das funktioniert nur, wenn 'a3333' genau einmal vorkommt, da nur das Element 0 vom gegrepten 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.

View full thread Syntax Zugriff Array Index