我有一个这样的文件。
>;1;
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
>;2;
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
>;3;
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
我想将每个数字更改为相应的字符串。
我编写了以下 Perl 程序,但我不知道它有什么问题。
%lista2 = (
1 => "CAT00.3",
2 => "CAT43.1",
3 => "CAT40.3"
);
open(OA, ">file2.txt");
foreach $key ( keys %lista2 ) {
open(SAL, "file.txt");
while ( <SAL> ) {
chomp;
if( />/ ) {
@w = split("\t");
$r = 0;
s/\;//g;
if ( /%lista2[i]/ ) {
print OA "$_ $lista2{$key}\n" ;
$r = 1;
}
}
}
}
close(SAL);
close(OA);
我想得到这个
>CAT00.3
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
>CAT43.1
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
>CAT40.3
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
但我不知道该怎么做。