Re: hash-Zufall

Michael Armbrecht <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
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

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.