#! /usr/bin/perl -w use 5.010; open (REF, "ref_snp.txt"); open (GENOTYPE, "$ARGV[0]"); open (OUT, ">$ARGV[1]"); my %genotype; my %ref; while() { if (/(\d+)\t\w\t(\w)/) { %genotype=($1=>$2,); my @position=keys %genotype; #foreach $position (sort keys %genotype) # { # print OUT "$position\t$genotype{$position}\n"; # } } else { print "It doesn'y match!$_ not match!\n\n"; } } while () { if (/(\d+)\t(\w)/) { %ref = ($1=>$2,); my @position_ref = keys %ref; foreach $position_ref (sort keys %ref) { if (exists $genotype{$position_ref}) { print OUT "$position_ref\t$genotype{$position_ref}\n"; } else { $genotype{$position_ref}=$ref{$position_ref}; print OUT "$position_ref\t$genotype{$position_ref}\n"; } } } }