Is there an easier, more compact way to convert two arrays, on with
keys and the other with values, into a hash?
I have this sample code:
1 #!/usr/local/bin/perl -w
2
3 my $hash ;
4 my @keys =qw(col1 col2 col3);
5 @vals=qw(a b c);
6 for ($i=0; $i<=2 ; $i++) {
7 $hash->{$keys[$i]}=$vals[$i] ;
8 }
9
10 print join("\t", keys %$hash) . "\n";
11 print join("\t", values %$hash) . "\n";
which works:
$ ./sample.v01.pl
col3 col1 col2
c a b
However, I've tried to replace the for loop with something more
compact, but this doesn't work. That is, I've replace lines 6-8 with
this line:
$hash->[EMAIL PROTECTED]@vals;
But get this:
$ ./simple.v02.pl
3
3
Can this be done, or is the for loop the "accepted" way?
Regards,
- Robert
http://www.cwelug.org/downloads
Help others get OpenSource software. Distribute FLOSS
for Windows, Linux, *BSD, and MacOS X with BitTorrent
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>