作者abliou (Art of Life)
看板perl
标题Re: [请益] open() 的限制?
时间Wed Jun 7 00:36:23 2006
※ 引述《akoba ()》之铭言:
: 我从input档读入data,以data当作output档的档名
: 可是我遇到了问题,output档一直无法建立
: 想请教是什麽问题
: 以下是code...
: open(Input,"<","test");
: $Line = <Input>;
: ($Contig_gi,$Est_gi) = split(",",$Line);
: $Path = "C:/Perl/bin/Project/temp/$EST_ID.txt";
: open(Output,">",$Path) or die;
: print Output "hello";
1.
open file,">PATH+FILENAME";
有网友说你的写法也行..说真的你open的语法我是第一次看过...(羞愧...)
可否请教您语法参考何处??
2.
你後面没有close的动作...也就是少一个存档的步骤....
有网友有提到..
你何不先试看看??
3.
感觉上你写的语法变数设定有点多...以前还在用VB的时候这麽写看起来还不会这麽吃力
但现在perl用久了整个人就被perl养坏了...也养懒了...(不知道是好是坏...)
建议你变数设定少一点..一方面方便维护...一方面debug也轻松许多...
4.
所以我会这麽改写你的东西....(有错或者有更缩短的写法请各位大佬指正..拜托..)
open Input,"<test";
($Contig_gi,$Est_gi) = split(",",<Input>);
open Output,">C:/Perl/bin/Project/temp/$EST_ID.txt" ;
print Output "hello";
close Input,Output ;
我相信会有更好更简洁的写法....
这段程式码中有一些匪夷所思的部份写法..似乎是为了写给回圈用的..
所以有网友猜这不是你全部的程式码....
倘若确定就是这几行不会用的回圈...那这些动作五行应该就能解决(估计..)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.136.76
※ 编辑: abliou 来自: 218.166.136.76 (06/07 00:45)
1F:推 randylau:open 要读取的话 open("filename") 就可以了吧 06/07 00:47
2F:推 abliou:喔??还有这招??..感谢!! 06/07 00:48
3F:→ randylau:是有要把这个 "档案" 做特殊处理才需要pipe或者redirect 06/07 00:48
4F:→ abliou:不过感觉上这个case似乎要对内容做处理... 06/07 00:49
5F:→ abliou:感觉上这个程式只是切一部份程式码出来... 06/07 00:50
6F:推 akoba:我是看..activeperl的doc里写的... 06/07 01:27
7F:→ akoba:这只是一部份程式码...我切出来做test的... 06/07 01:31
8F:→ akoba:还有..我用了你的程式码去跑一次...结果预设的档案并没有如 06/07 01:31
9F:→ akoba:跑出来..... 06/07 01:32
10F:→ akoba:之前再做test..有用变数$i =1去做档名.... 06/07 01:32
11F:→ akoba:用这个方法可以确定跑得出来...所以我才有疑问... 06/07 01:33
12F:→ akoba:我在猜是不是perl在直译的时候有先去对开档的动作 06/07 01:33
13F:→ akoba:跑过一次..向前面变数的用法..perl直译器可以确定有实际的档 06/07 01:34
14F:→ akoba:名..而用开档的动作去assign变数...或许perl不吃这套吧.. 06/07 01:35
15F:→ akoba:不过这只是我猜测....还是要请教各位..谢谢!! 06/07 01:36