解决办法:
1 你在程序最后加上system(“pause”), 这个调试方法改变了程序本身,不推荐。
2 你进入dos命令行,找到perl脚本所在目录,然后敲 perl <脚本名> 来执行。
3 如果你装有gvim,可以用gvim来打开perl脚本,然后敲 :!perl <脚本名> 来执行, 我通常用这种方法。
以前遇到类似的问题。给你一个强有力的解决办法。用python建立一个临时 的shell脚本。里面放上你所需要所有调用。然后通过python的os.system再调用这个临时的shell脚本。
如果还有问题,就是你perl的问题。
记得要用chmod将shell脚本设置成可以执行。
为什么不直接写成一个SHELL呢?#!/usr/bin/perl -w
use strict
my$i=1
while($i<=8926){
my$a="scaffold$i"
my$b="/home/meiyu/scaffoldfasta/$a.fa"
my$c="home/meiyu/rRNAjieguo/$a.out"
`perl rfam_scan-1.0.2.pl -o $c -blastdb Rfam.fasta Rfam.cm $b`
$i++
}
用SHELL:
for i in `find /home/meiyu/scaffoldfasta/ -name "*.fa"`do b=${i##*/}b=${b%%.*}$c="/home/meiyu/rRNAjieguo/$b.out"perl rfam_scan-1.0.2.pl -o $c -blastdb Rfam.fasta Rfam.cm $idone