#!/usr/bin/perl # p e r l # r u l e # s b i g # t i m e use strict; use warnings; my %fields; my ($base1, $base2); my $linenr = 0; my $pos = 14; while(<>) { chomp; my $line = $_; $base1 = substr $line,$pos,1; if ( $base1 eq "t" ) { pos($line) = 14; substr($line,pos($line),1,"a"); } if ( $base1 eq "a" ) { pos($line) = 14; substr($line,pos($line),1,"t"); } pos($line) = 0; $linenr++; compare_line($line,$linenr); } sub compare_line { my $line = shift; my $linenr = shift; open (DATA, "test_data.dat") or die "Kan het bestand niet openen\n"; while() { chomp; $base2 = substr $line,$pos,1; $base2 = "a" if $base2 eq "t"; $base2 = "t" if $base2 eq "a"; if ( $line eq $_ ) { $fields{$linenr} = { base1 => $base1, base2 => $base2, }; } } } print "SPNL\tBASE1\tBASE2\n"; $pos += 1; foreach my $linenr (sort keys %fields) { print "$pos\t$fields{$linenr}{'base1'}\t$fields{$linenr}{'base2'}\n"; }