Paula Prieto Oliveira Postado Agosto 24, 2018 Denunciar Share Postado Agosto 24, 2018 Oi boa noite! Fiz um programa em perl para imprimir as linhas de um arquivo que estão repetidas, mas não está imprimindo nada e eu não sei o motivo. Alguém poderia me ajudar por favor? %mirna_snp; open (ARQ, "SNPs_validados.csv") or die "não e possivel abrir o arquivo\n"; while ($linha = <ARQ>) { chomp ($linha); $cont = 0; ($snp, $gene, $mirna, @resto) = split (/,/, $linha); $snp =~ s/\s//g; $gene =~ s/\s//g; $mirna =~ s/\s//g; #print "$snp\n"; $mirna_snp{$snp . "@" . $mirna} = $gene; if (!exists ($mirna_snp{$snp . "@" . $mirna})) { $cont = 1; } #elsif (exists ($mirna_snp{$snp . "@" . $mirna})) { else { $cont += 1; } } if ($cont > 1) { foreach $key (keys(%mirna_snp)) { print "$key\t$mirna_snp { $snp " . '@' . " $mirna }\n"; } } close (ARQ); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Paula Prieto Oliveira
Oi boa noite! Fiz um programa em perl para imprimir as linhas de um arquivo que estão repetidas, mas não está imprimindo nada e eu não sei o motivo. Alguém poderia me ajudar por favor?
%mirna_snp;
open (ARQ, "SNPs_validados.csv") or die "não e possivel abrir o arquivo\n";
while ($linha = <ARQ>) {
chomp ($linha);
$cont = 0;
($snp, $gene, $mirna, @resto) = split (/,/, $linha);
$snp =~ s/\s//g;
$gene =~ s/\s//g;
$mirna =~ s/\s//g;
#print "$snp\n";
$mirna_snp{$snp . "@" . $mirna} = $gene;
if (!exists ($mirna_snp{$snp . "@" . $mirna})) {
$cont = 1;
}
#elsif (exists ($mirna_snp{$snp . "@" . $mirna})) {
else {
$cont += 1;
}
}
if ($cont > 1) {
foreach $key (keys(%mirna_snp)) {
print "$key\t$mirna_snp { $snp " . '@' . " $mirna }\n";
}
}
close (ARQ);
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.