my %data; open(A, '<', 'gen_div.sum'); while () { chomp; my @cells = split(/\"/, $_); if ($cells[1] =~ m/:\//) { push @{$data{$cells[1]}}, $cells[3]; } } close(A); open(B, '<', 'pairdist.sum'); while () { chomp; my @cells = split(/\"/, $_); if ($cells[1] =~ m/:\//) { for my $key_finder (keys %data) { if ($key_finder eq $cells[1]) { $unlocked = $key_finder; @holder_inside = @{$data{$unlocked}}; @holder_sig = @holder_inside; my $pop = shift @holder_inside; shift @holder_sig; print "$key_finder FINDER\n"; print "$pop\t0\n"; } } } else { if (exists $holder_inside[0]) { my $pop_value = shift @holder_inside; print "$pop_value\t@cells\n"; } else { @sig_check = split(/\t/, $cells[0]); if ($sig_check[0] =~ /[0-9]/ and not m/p-Value/) { #/[0-9]+\..*\.output/ my $pop_value = shift @holder_sig; print "$pop_value\t"; foreach my $item (@sig_check) { if ($item =~ m/\d/ and $item <= 0.05) { print "+\t"; } elsif ($item =~ m/\d/ and $item >= 0.05) { print "-\t"; } } print "\n"; } } } }