最近在处理多序列联配(multiple alignment)文件时觉得自己对perl处理多行的情况了解较少,特此留下一个小示例:
文件:
1 qwe 2 asd 3 zxc 1 qwerty 2 asdfgh 3 zxcvbn
我要得到:
1 qweqwerty 2 asdasdfgh 3 zxczxcvbn
代码:
my %h; while(<DATA>){ next if /^\s*$/; s/[\r\n]+$//; my ($id,$data) = split; $h{$id} .= $data; } for(sort {$a<=>$b} keys %h){ print $_," ",$h{$_},"\n"; } __DATA__ 1 qwe 2 asd 3 zxc 1 qwerty 2 asdfgh 3 zxcvbn
尊重他人劳动成果,转载请注明出处:Bluesky's blog » perl多行处理