in reply to Re: how to use the values of the first hash to be the keys for the second hash
in thread how to use the values of the first hash to be the keys for the second hash
thank you so much.
when I tried to print the %newhash:
#!/usr/bin/perl use warnings; use strict; use Data::Dump qw[ pp ]; #subroutine: read in hash tables my $hash1=shift; open (my $fh1, "<",$hash1) or die "$!"; my %h1=(); while (<$fh1>) { chomp; my ($k1,$v1)=split /\t/; $h1{$k1}=$v1; } my $hash2=shift; open (my $fh2, "<",$hash2) or die "$!"; my %h2=(); while (<$fh2>) { chomp; my ($k2,$v2)=split /\t/; $h2{$k2}=$v2; } my %newhash = map { $_ => join ',', @h2{ split ',', $h1{ $_ } }; } keys %h1; while (my ($k, $v) = each %newhash) { print $k, "\t@{$newhash{$k}}\n"; }
it says "Can't use string ("val3") as an ARRAY ref while "strict refs" in use at line 34, <$fh2> line 3.'"
could you explain to me why?,/p>
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: how to use the values of the first hash to be the keys for the second hash
by BrowserUk (Patriarch) on Sep 07, 2012 at 22:08 UTC | |
by lrl1997 (Novice) on Sep 10, 2012 at 04:25 UTC | |
by BrowserUk (Patriarch) on Sep 10, 2012 at 04:47 UTC |