Skip to main content

Alles für die Homepage... Scripte, Templates, Workshops und Support

Verarbeitung eines Hashes mit Arrayinhalten in Perl

Dieser Artikel beschreibt wie man einen Hash mit zugewiesenen Arraywerten auf verschiedene Art und Weise darstellt, Werte abgreift, und nach Kriterien sortiert ausgibt. 

Beispielcode für verschiedene Ausgaben

Dem Beispiel zugrunde liegt dieser Hash mit Arraywerten:

CODE:
%member = (
1 => ["2004.02.02" ,"M" ,"Walter", "Helmut", "Deutschland"],
2 => ["2003.12.28" ,"W" ,"Meyer" , "Lisa", "Deutschland"],
3 => ["2002.05.22" ,"M" ,"Müller", "Maximilian", "Schweiz"],
4 => ["2002.11.01" ,"M" ,"Lehmann", "Hubert", "Oesterreich"],
5 => ["2004.01.04" ,"W" ,"Schulze", "Stefanie", "Deutschland"],
6 => ["2002.06.09" ,"M" ,"Wolter", "Willy", "Oesterreich"],
7 => ["2004.01.17" ,"W" ,"Thomas" , "Eva-Maria", "Schweiz"],
8 => ["2001.09.04" ,"M" ,"Schneyder", "Jean", "Frankreich"],
9 => ["2002.11.17" ,"M" ,"Clerc", "Pascale", "Frankreich"],
10 => ["2003.08.10" ,"M" ,"Benguerel", "Sebastian", "Spanien"],
11 => ["2002.10.01" ,"W" ,"Carl", "Johanna", "Deutschland"],
);

1. Festellung der Schlüsselanzahl des Hashes

CODE:
print $anz = keys(%member);

Ausgabe = 11

2. Festellung der Anzahl der Hashwerte zum Schluessel 4

CODE:
print $#anzahl = (@{$member{4}});

Ausgabe = 5

3. Sortierte Ausgabe der Hashschschlüssel mit ausgewählten Werten

CODE:
foreach $key (sort { $a <=> $b } keys %member) {
print "$key - $member{$key}[0] - $member{$key}[4]<br>";
}

Ausgabe:
1 – 2004.02.02 – Deutschland
2 – 2003.12.28 – Deutschland
3 – 2002.05.22 – Schweiz
4 – 2002.11.01 – Oesterreich
5 – 2004.01.04 – Deutschland
6 – 2002.06.09 – Oesterreich
7 – 2004.01.17 – Schweiz
8 – 2001.09.04 – Frankreich
9 – 2002.11.17 – Frankreich
10 – 2003.08.10 – Spanien
11 – 2002.10.01 – Deutschland

4. Sortierte Ausgabe der Hashwerte nach Kriterien

CODE:
foreach $key (sort { $member{$a}[2] cmp $member{$b}[2] } keys %member) {
print "$member{$key}[2], $member{$key}[3]<br>";
}

Ausgabe:
Benguerel, Sebastian
Carl, Johanna
Clerc, Pascale
Lehmann, Hubert
Meyer, Lisa
Müller, Maximilian
Schneyder, Jean
Schulze, Stefanie
Thomas, Eva-Maria
Walter, Helmut
Wolter, Willy

5. Per Join die Arraywerte eines Schlüssels in ein anderes Array ablegen

CODE:
print @dd = join(' ', (@{$member{2}}));

Ausgabe: 2003.12.28 W Meyer Lisa Deutschland

Weitere Beiträge

Meta Quest 3: Entdecken Sie das aktuelle VR-Headset

meta quest 3 vr headset

Die Meta Quest 3 ist das aktuelle Mixed-Reality-Headset von Meta, das innovative Technologien vereint, um ein einzigartiges VR-Erlebnis zu bieten. Diese VR-Brille stellt sowohl für Gelegenheitsnutzer als auch für Technikenthusiasten eine aufregende Möglichkeit dar, die Grenzen zwischen der physischen und digitalen Welt zu erkunden. Eine echte Alternative zur Apple Vison Pro. Wer etwas günstiger in […]

Amazon-Vergleichstabellen erhöhen die Affiliate-Einnahmen

aawp plugin amazon affiliate Amazon-Vergleichstabellen

Amazon-Vergleichstabellen: Wer im Internet kaufen will, vergleicht zunächst Preise und Produkteigenschaften. Hier ist bei vielen Interessenten Amazon die erste Wahl. Gleichzeitig bietet der Branchenriese ein interessantes Partnerprogramm für Empfehlungen an. Wer sich damit ein zusätzliches Einkommen sichern möchte, bietet seinen Besuchern spezielle Amazon-Vergleichstabellen auf seiner Webseite an. So findet der Kunde schneller die relevanten Informationen […]

Amazon startet den 10. Prime Day am 16. und 17. Juli

prime day juli 2024

Prime Day 2024: Vom 16. bis 17. Juli haben Prime-Mitglieder exklusiven Zugang zu einer Vielzahl von Angeboten in verschiedenen Kategorien wie Bekleidung, Elektronik, Küche & Haushalt und Spielzeug. Neue Deals werden während des gesamten Zeitraums veröffentlicht, um Prime-Mitgliedern am zehnten Prime Day stets etwas Neues zu bieten. Die ersten Angebote sind bereits verfügbar. Weitere Produkte […]


Ähnliche Beiträge



Keine Kommentare vorhanden


Du hast eine Frage oder eine Meinung zum Artikel? Teile sie mit uns!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *