/blog/perl


substr() in Perl
[125793 mal gelesen]
foreach in Perl
[115250 mal gelesen]
Arrays in Perl - Besonderheiten
[108002 mal gelesen]
open() - Dateien öffnen in Perl
[97048 mal gelesen]
split() in Perl - Zeichenketten teilen
[87147 mal gelesen]
chomp() in Perl
[83718 mal gelesen]
grep - Listen durchsuchen in Perl
[81031 mal gelesen]
push in Perl
[77563 mal gelesen]
sleep in Perl - Das aktuelle Script warten lassen
[60385 mal gelesen]
print in Perl
[49304 mal gelesen]


Arrays
Dateien
HTPC
Hashes
Leistungsoptimiert
PHP
Perl
RegEx
Schleifen
Script
Skalare
Sonstiges
System
Webserver
Zur Startseite


Montag, 19.3.2007, 00:02:22 Uhr

values() - Alle Werte eines Hashes ermitteln


Wandelt alle Werte eines Hashes in eine Liste bzw. ein Array.

Syntax
@array = values (%hash);


$hash{1}="test1";
$hash{2}="test2";
$hash{3}="test3";

foreach (values %hash){print "$_ ";}


Ausgabe: test1 test2 test3

Allerdings... so "richtig" nützlich ist der Befehl meiner Meinung nach nicht, da aus dem Value ja nicht auf den Key geschlossen werden kann, und meist braucht man ja beide Werte, also key und value. Vorsicht: Meinung des Verfassers, jeder darf natürlich auch 'ne andere Meinung vertreten...




Kommentare zum Beitrag "values() - Alle Werte eines Hashes ermitteln"

Kommentar von Renee Bäcker
Es kommt immer auf die Aufgabenstellung an. Wenn die Frage lautet "Gibt es eine gelbe Frucht in dem Hash?" und der Hash sieht so aus:

%hash = (
Apfel => 'grün',
Orange => 'orange',
Banane => 'gelb',
);

dann ist es einfacher

my @farben = values %hash;
if( grep{ $_ eq 'gelb' }@farben ){
print "gelbe Frucht vorhanden!";
}


als

for my $key( keys %hash ){
if( $hash{$key} eq 'gelb' ){
print "gelbe Frucht vorhanden!";
}
}

Gruß,
Renée

Kommentar von Admin

Für diesen Fall ist dies natürlich richtig. Wenn man also wirklich nur wissen will, ob 'gelb' vorhanden ist, geht das ganz gut mit values(). Da man aber meist wissen will, was denn nun gelb ist, verwende ich eben meist keys() und schließe daraus darauf, was gelb ist.

Kommentar von Renee Bäcker
Wie ich ja gesagt habe: "Es kommt auf die Fragestellung an".

Du hast natürlich Recht, dass in den meisten Fällen "keys" (oder auch "each") gebraucht wird.

Kommentar von Max Hentschel
Guten Tach,

also ich habe dein oberes Beispiel folgendermaßen angewendet:

my %hash;
$hash{elfe1}="RNI_IN_ELFK_".$datum."_070049";
$hash{elfe2}="RNI_IN_ELFP_".$datum."_070049";
$hash{elmo1}="RNI_IN_ELMK_".$datum."_070049";
$hash{elmo2}="RNI_IN_ELMP_".$datum."_070049";
$hash{eva}="RNI_IN_EVA_".$datum."_070049";
$hash{evm}="RNI_IN_EVM_".$datum."_070049";

foreach (values %hash){
print "\n".$_."\n";}

Bei mir kommt dabei dann aber nur der Wert vom letzten Key raus. Mir wird also ausgegeben:

RNI_IN_EVM_20080331_070049

Hab ich da irgendwo was nich gerafft???

Kommentar von Max
Erledigt, Abbruchbedingung meiner Vorhergehenden while-Schleife und der if-else Anweisung :-|

thx anyway

Kommentar von Admin
... wollt ich gerade schreiben, daß bei mir das alles funktioniert.



Thema: Perl Hashes

Der Beitrag "values() - Alle Werte eines Hashes ermitteln" wurde 6949 mal gelesen.

Kommentar schreiben  Druckansicht  Seitenanfang 
Beurteilen 






 Zufällige Beiträge im /blog/perl

undef in Perl

Splice() in Perl

Gefälschte Mail von Google enthält Trojaner

Dateien öffnen - Sicherheitsrisiko von Benutzereingaben

Unshift Perl

Die Perl-Blog-Software

seek() - Dateizeiger neu positionieren

Nochmal Dateien suchen - diesmal auch in Unterverzeichnissen

Windows 7 XP Mode – Wo finde ich den XP-Modus unter Windows 7?

RegEx Spickzettel - Abkürzungen in regulären Ausdrücken



0.0204901695251465 sec. to build



...Blogsoftware in pure Perl - Powered by a lot of Coffee...


SSD-Festplatte - Wassn das???
Die Transliteration - Nur ein Zeichen in einem Skalar ersetzen
Select - Case in Perl
Windows 7 XP Mode – Wo finde ich den XP-Modus unter Windows 7?
Mac-Adresse beim Apple Macintosh herausfinden
SGN-Funktion für Perl
truncate - Dateigröße verändern in Perl
Eigene IP herausfinden mit Perl
Epoche live in Datum umwandeln
Firefox 3 - Exe-Files downloaden


Von: Fabian
Kommentar:
Hallo zusammen,
ich suche schon etwas im Internet und bin bisher nicht fündig geworden.
Zum Beitrag


Von: Schorschel eastcoast
Kommentar:
Danke. Das hat mir weitergeholfen.
Zum Beitrag


Von: Jessica
Kommentar:
Kann man auch zwei Datein parallel einlesen?

Zum Beitrag


Von: Xtravaganz
Kommentar:
Für

Zum Beitrag


Von: Xtravaganz
Kommentar:
Für

Zum Beitrag



Gesamtverzeichnis
Februar 2010
Dezember 2009
Oktober 2009
Januar 2009
Dezember 2008
November 2008
September 2008
August 2008
Juli 2008
Juni 2008
Mai 2008
April 2008
Januar 2008
Dezember 2007
November 2007
Oktober 2007
September 2007
August 2007
Juni 2007
Mai 2007
April 2007
März 2007
Februar 2007
Januar 2007
Dezember 2006


Mister Wong

RSS-Feed

Heute ist der
24.5.2018

Es ist
13:20:24 Uhr

Ihre IP:
54.81.68.240

Blog-Einträge: 186

Die letzten 24 Stunden im Überblick


Gelesene Beiträge insgesamt:
3653522


Webseiten vergleichen
Kalender mit Feiertagen - 2028
Links finden und testen
Menschliche Datumsangaben
IP zu Domain herausfinden
Time live in Datum umwandeln
Perl für Windows



Mo Di Mi Do Fr Sa So
123456
78910111213
14151617181920
21222324252627
28293031

Impressum