Am Sonntag, 16. Januar 2005 13:22 schrieb Daniel Feist:
Hallo, ich habe eine Frage zu Perl - und zwar, ob und wenn ja wie es möglich ist, aus einer Hash-Variable wie diese: %ganzer_name = ("Fred" => "Feuerstein", "Barney" => "Geroellheimer", ); einen einen zufälligen Schlüssel auszuwählen und dann nach seinem Wert zu fragen?
Spontan würde ich vorschlagen, die Liste der Schlüssel in eine Liste zu schreiben, dann deren Länge (d.h. Anzahl der Elemente) zu bestimmen und dann eine Zufallszahl zwischen 0 und der Anzahl der Elemente zu erzeugen. Dann das Element $schluessel aus dem Schlüssel-Array mit Index $zufallszahl holen und aus %ganzer_name den Wert für $schluessel abfragen (das hier ist aus dem Perl Cookbook): #!/bin/perl -w %ganzer_name = ( "Fred" => "Feuerstein", "Barney" => "Geroellheimer", ); @schluessel = keys(%ganzer_name); $zufall = $schluessel[ rand @schluessel ]; $wert = $ganzer_name{$zufall}; print "$wert\n";
Schön wäre es, wenn man da den Zufallsgenerator rand oder ähnliches einbauen könnte. Vielen Dank schonmal im voraus!
Bitte schön... -- The nice thing about standards is that there are so many of them to choose from. -- Andrew S. Tanenbaum