我有一个 SD 文件要读取。我无法上传整个文件。所以我在下图中给出了一个快照。
这是一个解释分子结构的 SD 文件(结构数据文件)。803和AMH是两个分子。此外,在同一个分子内有几个片段。每个片段由四个美元符号 ($$$$) 分隔。我是 perl 的新手,因为我是一名生物医学研究学生。但是,我编写了一个脚本,它找到了 $$$$ 的出现,然后在它旁边的行中找到了分子代码(这里是 803)的出现。
{
open (FILE, '<', "try_803.txt");
my $ligandcode="803";
while (<FILE>) {
my $nextline = <FILE>;
if ( $_=~/\x24\x24\x24\x24/ && $nextline=~/$ligandcode/){
# do something
}
}
}
这段代码检查了第一次出现的 $$$$,然后是 803。但是,我希望它进一步检查下一次出现的 $$$$,然后是 803。我不知道这种模式会出现多少次。从技术上讲,我无法事先指定片段的编号。你能帮我改进这段代码并找到问题的解决方案吗?我会很感激的。