Re: [請益] print段落

看板Perl作者 (jet)時間17年前 (2007/12/20 18:31), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《tear2001 ( Play ball !!)》之銘言: : 這個好像前面有討論過 但是..... : 小弟不才....看到L大寫的 但就是看不懂orz : 我是想取出檔案中NSC下的number然後把Chemical Names斷落下的每一行接上 : 檔案如下: : FILE -----------------------------------> Result: : <NSC> NSC_533/Uramine T 80/Yuramin T 80 : 553 : . : . : . : . //就是想說能不能寫成"NSC/../../.." : <Chemical Names> 的格式...但一直無法成功 : Uramine T 80 : Yuramin T 80 : Methylolacrylamide : N-Methanolacrylamide : N-Methylolacrylamide : Monomethylolacrylamide : N-(Hydroxymethyl)acrylamide : 2-Propenamide, N- (hydroxymethyl)- : Acrylamide, N- (hydroxymethyl)- : $$$$ : <NSC> NSC_12/NFS/NFZ/NF-7.......... : 12 : . : . : . : <Chemical Names> : NFS : NFZ : NF-7 : Nefco : Amifur : Chixin : Mammex : U-6421 : Actin-N : Alfucin : $$$$ : 目前我已經寫到... : $File = $ARGV[0]; : open( FID, $File ); : use strict; : my $txtflag=0; : while (<FID>) { : $txtflag=1 if /^>\s\s\<NSC\>/i; : print "$_" if /^>\s\s\<NSC\>/i && $txtflag==1; : ............................................... : } : close FID; : 然後就死掉了 想請板上高手出手相救 : 無上感謝....... <(_ _)> $File = $ARGV[0]; open( FID, $File ); while(<FID>) { if(/^NSC (\d+)$/){ print "NSC_$1"; } if(/<Chemical Names>/) { while(chomp($_=<FID>)) { last if $_ eq ''; print "/$_"; } print "\n"; } } close FID; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.197.133

12/20 18:33, , 1F
第二個if 改用elsif比較好 但是這樣比較好看:P
12/20 18:33, 1F

12/21 15:07, , 2F
謝啦~~已經能夠成功prase檔案囉
12/21 15:07, 2F
文章代碼(AID): #17QaHzmo (Perl)
討論串 (同標題文章)
本文引述了以下文章的的內容:
0
1
完整討論串 (本文為第 2 之 3 篇):
1
2
1
2
0
1
文章代碼(AID): #17QaHzmo (Perl)