while ( my $line = ) { chomp $line; next unless length $line; my ( $file, $patientName, $panel, $snp, $allele1, $allele2, $size1, $size2 ) = split "\t", $line; $snp ||= 'missed'; if ( $allele1 && $allele2 ) { constructHetero( $snp, $patientName, $allele1, $allele2 ) } elsif ( $allele1 && not $allele2 ) { constructHomo( 'type1', $snp, $patientName, 'allele1', $allele1 ) } elsif ( not $allele1 && $allele2 ) { constructHomo( 'type2', $snp, $patientName, 'allele2', $allele2 ) } elsif ( not $allele1 && not $allele2) { constructUnclassified( $snp, $patientName ) } }