ich kann in Perl bei einem assiozativen Array ja nach dem wert eines keys suchen. Nun brauche ich aber ab und zu beide Richtungen.
Also z.B.:
my %dat = (
'00000' => "A",
'00001' => "F",
'00002' => "R"
);
>   
> Ich brauche in meinem Programm einmal welcher Wert zu "00000" gehört, aber auch dass zu "A" eben "00000" gehört.  
>   
> Der Wert und sowohl der Key sind immer einmalig.  
>   
> Gibt es für so etwas eine komfortable Lösung ohne zwei Hashes für beide Richtungen anzulegen?  
  
Das kommt sehr darauf an, was  
00000 ... 00002 darstellen (numerisch sortiert?)  
und ob A F R ganz einfach Daten der länge von 1 Zeichen sind.  
  
Wäre dem sü so könntest du einerseits ganz einfach eine Stringvariable fragen  
   $pos = $DATA{'A'}  
und  
   "A" eq substr( $DATA, $pos, 1 ) and print "OK";  
  
  
Wenn dem nicht so ist, würde ich  
einen Array aufbauen  
   my @RDATA = keys %DATA;  
  
   $RDATA[ $DATA{$\_} ] = $\_;  
  
oder einen inversen Hash aufbauen  
  
   my %RDATA  
   foreach( keys %DATA ){  
     $RDATA{ $DATA{$\_} } = $\_;  
   }  
  
Braucht aber Speicher.  
  
mfg Beat;
-- 
Woran ich arbeite:  
[X-Torah](http://www.elcappuccino.ch/cgi/tok.pl?extern=1-pub-com3306-1)  
><o(((°>           ><o(((°>  
   <°)))o><                     ><o(((°>o  
 nicht angemeldet
 nicht angemeldet