看板 Perl 關於我們 聯絡資訊
有個問題, 想請PERL版的前輩們給點指教... 我寫了一個程式, 期望它功能如下所述: 首先讀取檔案內容, 取得每一個開頭為TREND_DEF的字串, [0] [1] [2] [3] TREND_DEF XXXXXXX XXXXXX TREND_DEF XXX XXXXXX XXXXXX XXXXXXX TREND_DEF XXXXX XXXXXX XXXXXX . . . XXXXXXX 99999 XXX 88888 XXXXX 7777 將每個字串split後,第[1]項都丟進陣列當作字串比對的key word 再使用每個key word去搜尋開頭為"key word"的字串 但是遇到一個問題!! (如下面程式紅色標記部分) 正規表示式中, 如果欲以字串作為搜尋的條件要怎麼寫呢?? ======================================================= #!/usr/bin/perl; use strict; use warnings; open INPUT,"<XXX.log" || warn "OPEN FAIL:$!"; open OUTPUT,">XXX.txt" || warn "Can't creat file :$!"; while(<INPUT>) { my @return = &searchitem($_); my $search = $return[1]; if ($_ =~ m/{^$search}/) { my $data = $_ ; print OUTPUT "data\n"; } } close INPUT; close OUTPUT; sub searchitem { my $search = shift; if ($search =~ /(^TREND_DEF)/) { my @item = split (/\s+/, $search); return @item; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.40.109