in reply to (Failing) script to return an official ID

Revised: Please ignore. toolic had previously provided a complete, working solution

I modified your code to the following:

#!/usr/bin/perl use strict; use warnings; my $outfile = "HUGO_dummyResults.txt"; open( OUT, "> $outfile" ) or die "cannot create the output file"; open (DUMMY_GENEFILE, 'DummyGenes.txt') or die "cannot open file conta +ining genes"; open (DUMMYHUGO,'DummyHugo.txt') or die "cannot open file containing H +UGO IDs"; ################################################# #Operations ################################################# #make array HUGO my @hugo = <DUMMYHUGO>; foreach (<DUMMY_GENEFILE>) #Changed from (<DUMMY_GENEFILE>) { #make array genes my @genes = split ( /\b/, $_ ); foreach my $i ( 4 .. 7 ) { if ($genes[2] eq $hugo[$i]) { print OUT "$genes[0]\t$genes[1]\t$genes[2]\t$genes[3]\t$hugo[1 +]\n"; } print OUT "$genes[0]\t$genes[1]\t$genes[2]\t$genes[3]\tNo HUGO I +D\n"; } } close (DUMMYHUGO); close (DUMMY_GENEFILE); close (OUT); exit;

This results in:

ID1 Id2 No HUGO ID ID1 Id2 No HUGO ID ID1 Id2 No HUGO ID ID1 Id2 No HUGO ID ID1a Id2a No HUGO ID ID1a Id2a No HUGO ID ID1a Id2a No HUGO ID ID1a Id2a No HUGO ID ID1b Id2b No HUGO ID ID1b Id2b No HUGO ID ID1b Id2b No HUGO ID ID1b Id2b No HUGO ID ID1c Id2c No HUGO ID ID1c Id2c No HUGO ID ID1c Id2c No HUGO ID ID1c Id2c No HUGO ID ID1d Id2d No HUGO ID ID1d Id2d No HUGO ID ID1d Id2d No HUGO ID ID1d Id2d No HUGO ID

Could you tell me what you expected to see, so I can refine this further?

Modifictions: