Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8142[/thread]

Aus 2 Arrays einen Hash machen ...



<< >> 3 Einträge, 1 Seite
Gast Gast
 2006-07-05 20:58
#67877 #67877
Hi!

Ich hoffe ihr könnt mir weiterhelfen! Eigentlich ein einfaches Problem aber meine bisherige Lösungssuche brachte keinen Erfolg.

Ich hab 2 Arrays:

Code: (dl )
1
2
my @ids = (01,02,03);
my @names ('Heiz','Otto','Karl');


und würde daraus gern einen Hash machen:

Code: (dl )
my %id_name ('01'=>'Heiz', '02''=>'Otto', '03''=>'Karl');


Das muss sich doch irgendwie zuweisen lassen!

Danke im vorab schonmal für jede Hilfe,
Gruß Cuthalion
Ronnie
 2006-07-05 21:05
#67878 #67878
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Das geht mit einem Hash-Slice:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl

use strict;
use warnings;

use Data::Dumper;

my @ids = qw( 01 02 03);
my @names = ('Heiz','Otto','Karl');

my %hash;
@hash{@ids} = @names;

print Dumper \%hash;
sid burn
 2006-07-05 21:11
#67879 #67879
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Oder mit einem Map.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl -w
use strict;
use Data::Dumper;

my @ids = (01,02,03);
my @names = ('Heiz','Otto','Karl');

my %hash = map { $ids[$_], $names[$_] } 0..$#names;

print Dumper \%hash;
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
<< >> 3 Einträge, 1 Seite



View all threads created 2006-07-05 20:58.