Thread Frage zu Hash (15 answers)
Opened by jason-duff at 2006-01-16 12:13

jason-duff
 2006-01-16 12:13
#61929 #61929
User since
2005-10-11
23 Artikel
BenutzerIn
[default_avatar]
hallo Leute habe ich habe mal wieder ne Frage!

habe ein Hash der Form

%dirs = {
'./space/dir/dirname1' => Wert1
'./space/dir/dirname2' => Wert2
'./space/dir/dirname3' => Wert3
'./space/dir/dirname4' => Wert4
};

der hash enthält als keys Pfadangaben.
Ich möchte die keys abfragen. und zwar den letzten Ordner zb. dirname1 bei './space/dir/dirname1'. Je nachdem welchen wert der hat rufe ich eine funktion auf die als Parameter den Key mit der Pfadangabe, und einen Key mit einer anderen Pfadangabe. zb.'./space/dir/dirname4'.
hab das so gemacht.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
foreach my $dir (keys(%dirs)) { 
   
 my @array = (split (/\//,$dir));
 

 if ($array[-1] == 'dirname1')
   {
     $array[-1] = 'dirname4';  
     my $path = join('/',@array);
       
     function1($dir,$dirs{$dir},$path ,$dirs{$path} )
   
   }
  if ($array[-1] == 'dirname2')
  {...}
   .
   .
 
}

Da ich einige If-Abfragen habe. wird es echt viel Code.
vielleicht habt ihr ne Idee wie man es vereinfachen und kompakter machen kann.

gruss Jason

View full thread Frage zu Hash