#!/usr/bin/perl -w use Data::Dumper; my $data = '/Data/Table1.txt'; open INFILE, '<', $data or die "aa\n"; my %hash = map { chomp; split /\t/ } ; print Dumper(\%hash); my $data2 = '/Data/Table2.txt'; open INFILE2, '<', $data2 or die "aa\n"; my %hash2; while() { chomp; my $line = $_; my $key = (split/\t/, $line)[0]; push @{ $hash2{$key} }, $line; } print Dumper(\%hash2); #### $VAR1 = { '218489_s_at' => 'NM_000031', '216064_s_at' => 'NM_000027', '218487_at' => 'NM_000031', '211110_s_at' => 'NM_000044', '204333_s_at' => 'NM_000027', '210632_s_at' => 'NM_000023', '203935_at' => 'NM_001111067', '211560_s_at' => 'NM_000032', '204332_s_at' => 'NM_000027', '215719_x_at' => 'NM_000043', '204780_s_at' => 'NM_000043', '202834_at' => 'NM_000029', '206121_at' => 'NM_000036', '204781_s_at' => 'NM_000043', '205412_at' => 'NM_000019', '216252_x_at' => 'NM_000043', '205216_s_at' => 'NM_000042', '211621_at' => 'NM_000044', '200710_at' => 'NM_000018', '202502_at' => 'NM_001127328' }; $VAR1 = { '211560_s_at' => [ '211560_s_at P P P A P P P' ], '204332_s_at' => [ '204332_s_at P P A P P P P' ], '216064_s_at' => [ '216064_s_at P M P P P A A' ], '200005_at' => [ '200005_at P P A P P P A' ], '211110_s_at' => [ '211110_s_at P A P A P A P' ], '200003_s_at' => [ '200003_s_at P A P P P A P' ] };