Re: [問題] 讀檔案到陣列
※ 引述《WalkingIce (會走路的冰塊)》之銘言:
: ※ 引述《handsomegirl (薰)》之銘言:
: : 1.想請問一下,當我把檔案都讀到陣列裡去後
: : 有什麼辦法可以搜尋我指定的字串
: : 然後可以得到此字串在第幾行,
: : 包括這行,開始往下print?
: 假設 sample 是這樣
: 33996344 33996351 GB
: 33996352 50331647 XD
: 50331648 68257567 US
: 68257568 68257599 CA
: 全部讀進陣列後,對每一行做比對
: 在比對成功之前的每一行都丟進另一個 array 裏面
: #! /usr/bin/perl
: open FILE,"sample";
: @a1 = <FILE>;
: my @a2;
: # 以 US 來比對
: push (@a2,shift @a1) while (@a1[0] !~m{.+US} && @a1);
: print @a2;
: print "=====\n";
: print @a1;
: 結果如下
: 33996344 33996351 GB
: 33996352 50331647 XD
: =====
: 50331648 68257567 US
: 68257568 68257599 CA
: 或著你可以設定一個變數 $switch = 0; // 0=關閉 1=打開
: foreach(@array) {
: $switch = 1 if (比對成功);
: print $_ if $switch;
: }
這兩段程式我都試過了,都成功,非常感謝,之前都沒想到用switch的方式
不過後來想到,若是我搜尋us 我要印出US本身 跟下面的CA 前面的數字我不要
是要以二維陣列的方式來作嗎?
有哪個關鍵字可以讀那個字串的陣列值?
然後可以知道這個值從哪個檔案來嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.65.55.161
※ 編輯: handsomegirl 來自: 61.65.55.161 (07/03 13:59)
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章