Schrift
[thread]6197[/thread]

Werte eines Hashes übergeben: Keys = Werte aus Array



<< >> 3 Einträge, 1 Seite
pktm
 2004-04-17 12:39
#81621 #81621
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!
Ich habe ein Array und einen Hash.
In dem Hash sind Keys mit den Zahlen von 1 bis 20 und in dem Array die Einträge qw(2 4 6).
Ich würde jetzt gerne einer Funktion die Werte des Hashes übergeben, deren Keys in dem Array stehen.
Also nur die Werte $hash{2}, $hash{4} und $hash{6}.
Und das ganze noch schön in einem Array, bzw. besser: (ist ja eine Funktion) in einer Arrayreferenz verpackt.
Wie mache ich das in einer Zeile ohne mir das vorher erst zusammen bauen zu müssen?
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
coax
 2004-04-17 13:33
#81622 #81622
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
meinst sicherlich so etwas:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
my @array = (2, 4, 6);
my %hash = (1 => 'eins', 2 => 'zwei', 3 => 'drei',
           4 => 'vier', 5 => 'fuen', 6 => 'sex', # etc. ...
           );

@teil = @hash{@array};

ausgabe(\@teil);

sub ausgabe {
   print "$_\n" for @{$_[0]};
}


Grusz Christian.
,,Das perlt aber heute wieder...'' -- Dittsche
Gast Gast
 2004-04-17 14:52
#81623 #81623
oder so ...

push @temp, $hash{$_} foreach @array;

the_sub (\@temp);
<< >> 3 Einträge, 1 Seite



View all threads created 2004-04-17 12:39.