Thread values eines Hash durch ein array filtern (Daten von FHEM) (13 answers)
Opened by Tom at 2020-05-24 13:04

GwenDragon
 2020-05-24 16:14
#191840 #191840
User since
2005-01-17
14533 Artikel
Admin1
[Homepage]
user image
In einem map wird immer $_ genommen.
Da $_ implizit genommen wird, kann es auch meist weggelassen werden.
Hätte ich kommentieren sollen, Entschuldige.

my ($key, $value) = split /\s+->\s+/; 
Ist dasselbe wie
my ($key, $value) = split /\s+->\s+/,$_; 

Sieh mal:
Code: (dl )
1
2
3
4
5
map {
my ($key, $value) = split /\s+->\s+/; # Zeile am -> aufteilen, um Schlüssel + Wert zu bekommen
push @{ $hash{$key} },$value; # Wert in Array (wegen mehrfacher Werte!) schieben
}
@daten;

Da steht am Ende des Block von wo die Daten kommen, hier vom Array ️@daten, und map nimmt eben einzelne Werte aus der Liste/Array.
Hätte ich auch kommentieren sollen, mein Fehler.

Weiteres zu map in Perl: https://perlmaven.com/search/map
un zu Hashes: https://perlmaven.com/perl-hash
Last edited: 2020-05-24 16:22:32 +0200 (CEST)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread values eines Hash durch ein array filtern (Daten von FHEM)