perl运行时出现报错下面是源代码和报错内容,

openIN,"1CHR.txt";openOUTemp1,'>',"OutPDB.txt";while(<IN>){if($_=~m/^ATOM/){#s/[A-Z]/... open IN,"1CHR.txt";
open OUTemp1,'>',"OutPDB.txt";
while(<IN>){
if ($_=~m/^ATOM/){
#s/[A-Z]//g;
print OUTemp1 "$_";
}
}
close OUTemp1;
运行这个代码时出现readline() on closed filehandle IN at _tmp.pl line 6.这个报错怎么才能修整好。
展开
 我来答
百度网友c9e795dda
推荐于2018-04-05 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1151万
展开全部
首先你将这两句

open IN,"1CHR.txt";
open OUTemp1,'>',"OutPDB.txt";

改成
open IN, "1CHR.txt" or die "Can't read file";
open OUTemp1, ">OutPDB.txt" or die "Can't create OUT";

看看有没有报出甚麼错 ?
追问
报错内容:
Can't read file at _tmp.pl line 4.
追答
那就是 "1chr.txt" 不存在或者不存在於你执行 script 的目录.
再改为以下试试看

$in = "C:/...../1chr.txt" ;

die "File not exists" unless -e $in;
$out = "c:/..../OutPDB.txt" ;

open ( IN, $in ) or die "Can't read file";
open ( OUTemp1, ">$out") or die "Can't create OUT";

再看看有没有报甚麼错 ?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jin_xu_csu
2013-07-09 · TA获得超过990个赞
知道小有建树答主
回答量:343
采纳率:100%
帮助的人:215万
展开全部
按照你的写法重新做了个模拟,没有发现问题,唯一可能出现的问题是你的第一个 句柄文件可能不不存在或者空或者没有指定路径 而无法正确读到数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laohu2862
2013-07-09 · TA获得超过1246个赞
知道小有建树答主
回答量:557
采纳率:0%
帮助的人:649万
展开全部
这个应该是你的1CHR.txt 这个文件不存在,你可以确认一下文件名和路径。
你将你的脚本和1CHR.txt 放到同一个目录下运行试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式