Re: [問題] print 特定段落

看板Perl作者 (reputation)時間18年前 (2007/08/15 01:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/6 (看更多)
※ 引述《roy8130 (reputation)》之銘言: : 假設我的檔案內容test.txt : test.txt ----> 輸出結果 : sage 1 : 1 1 : 2 2 : 3 3 : sage 2 : 4 4 : 5 5 : 6 6 : sage 3 : 7 7 : 8 8 : sage 4 : . . : . . : . . : 假如我我想抓出所有在 /sage\s\d+/ 之間的所有段落 : 請問該如何寫? 謝謝 print unless /stage\s\d+/; 就可以獲得以上結果 如果檔案結構變成, 如下 open file "<test.txt"; -------> output results sage 1 g sage 2 P { name "..............." name "..............." name "............" name "............" number "....." number "..........." sage 4 P } sage 2 P name "..............." name "............" name "..............." name "............" number "....." number "..........." } sage 3 F { name "..............." name "............" number "....." number "..........." } sage 4 P { name "..............." name "............" number "....." number "..........." } ps: 假如找到字母P, 列印sage "\d+" P, 並抓出所有以sage內容中以name為開頭的字串 請問要如何寫, 謝謝 use strict; open FH, "<test.txt"; while (<FH>) { if(/sage\s\d+\s(\w)/i){ if($1 eq "P"){ ...........................................?} } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.113.156
文章代碼(AID): #16mUj2tw (Perl)
文章代碼(AID): #16mUj2tw (Perl)