opi: mehr-d hash überschreibt sich selber - wieso?

Beitrag lesen

Hallo malte,

weil ich, wie gesagt insgesamt 56 datensätze der form: www.google.de#Suchmahscine#1#123.456.789.101#80 habe... und die werden nun gesplittet um sie in das hash zu speichern

Das ist schon klar, beantowrtet aber nicht die Frage.
??? Zweck des Arrays: die einzelnen Informationen, die durch eine Raute getreent sind einzulesen um so einfacher darauf zuzugreifen

ich finde daran überhaupt nichts einfaches. Du legst ein Array an,
obwohl du es nicht benötigst.

foreach(@arr_daten) {
@arr_daten_splitted = split(/#/,$_); # Daten als Array
$url = @arr_daten_splitted[0];
$descr = @arr_daten_splitted[1];
$prio = @arr_daten_splitted[2];
$ip = @arr_daten_splitted[3];
$port = @arr_daten_splitted[4];
$id++;
%daten_all = ( $id => {'URL',$url,'DESCR',$descr,'PRIO',$prio,'IP',$ip,'PORT',$port})
}

  
  
my %daten_all;  
  
foreach (@arr_daten) {  
   ( $daten_all{$id}{URL}  
   , $daten_all{$id}{DESCR}  
   , $daten_all{$id}{PRIO}  
   , $daten_all{$id}{IP}  
   , $daten_all{$id}{PORT}  
   ) = split /#/, $_;  
   $id++;  
}  

Auf diese Weise sieht es auch noch strukturiert aus, denn 56
Zuweisungen in einer Zeile mittels

my ($val1, $val2 ... $val56) = split /#/, $_

schauen nicht so toll aus.

Greez,
opi

--
Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|