根据现有perl脚本进行改写,发现perl和c++之间有一些相同的地方,例如每行必须以;结尾,如果是主程序需要加{}
perl跟python的不同是,如果python 增加字符串直接是“test"+"is" ,如果是perl,则是“test”."\t"."is" ,中间以 “." 链接
首先,打开读取文件
open(FILE,"<","test.txt")||die "cannot open the file:$!\n"; #打开文件
while (<FILE>){ #读取文件
chomp; #去除换行符
@a=split("\t"); #以tab键分割行
$chr="chr$a[2]"; #增加chr字符串,还有另一种写法 $chr="chr".$a[2]
if ($start==$end) #if判断需要加(判断条件){ 如果符合条件则执行} else {另外执行改任务} ;
{$start = $pos - $dis;
$end = $pos + $dis;
} #(这里不需要加;)
else{
};
my @array=split(//,$seq); # 分割字符串,例如ABC,分卫 A B C
$ref=$array[1]; # 提取分割后文件的第2个,也就是B
open outFile, ">$out"; #打开输出文件 ,如果放到开头,则所有行都会输出到输出文件,如果放到主要程序下面,则最后的一行保存到输出文件中
print outFile $a[0]."\t".$a[1]."\t".$a[2]."\t".$a[3]."\t".$a[4]."\t".$a[5]."\t".$a[6]."\t".uc($ref)."\t".$dis, "\n"; #每列中间用”."链接
print outFile join("\t",@a[0..6])."\t".uc($ref)."\t".$dis, "\n"; #更简便的写法,提取@a的0到6个元素
网友评论