1樓:匿名使用者
1全部你這個之所以只能顯示第乙個,是因為你的
open (filetwo,"$sfn");
開啟之後,在第乙個次迴圈以後,控制代碼filetwo 大了檔案的末尾,後面再讀入的時候其實已經不能讀入內容,所以出現了只有第一次迴圈執行成功的假象。
因此 只需要將你的指令碼修改為:
#!/usr/bin/perl -w
$ffn = "gg-ml.txt";
$sfn = "gg-ps.txt";
open (fileone,"$ffn");
while($original = );
即可,也就是需要每次都重新開啟檔案,才能真正的grep成功到整個檔案。
不過建議還是不要這樣做,因為這樣會導致頻繁的開關檔案控制代碼。重複操作會比較多,效率過於低下。
建議利用hash進行處理你的檔案,那樣效率會高一些。
2樓:匿名使用者
怎麼不能迴圈了?我把你的**複製,試了一下可以迴圈的。兩個檔案一行對應一行處理。
你把問題寫清楚撒
C語言for迴圈的問題,C語言迴圈問題
一個偽 告訴你真相 我是大圈 一圈跑完,大圈還要跑嗎 要跑 繼續大圈與小圈的迴圈,不要跑 跳出迴圈 多層巢狀也是一樣 我是外圈 跑完了小圈,繼續中圈 中圈已結束 跳出中圈繼續執行外圈。中圈還沒結束 繼續中圈的迴圈 現在中圈也跑完了,再來跑大圈 如果大圈跑完了,該迴圈結束,還沒有的話繼續上面的奔跑,r...
c語言for迴圈問題
n 用於儲存使用者輸入的資料 m 外層迴圈的變數,用於跟n進行比較,看是否退出迴圈i 內層迴圈的變數,用以跟外層迴圈的變數進行比較和運算。k 用於內層符合條件後的賦值,並決定外面的if是否執行j 開始就已經賦值了,用於最後的運算。其實,你問作用,我不是很明白。我知道他的流程走向。這個程式是讀入乙個數...
java迴圈語句的問題,Java迴圈語句的問題。
第一次迴圈時 i 0 執行int k i 這句 後i 1,k 1 所以第一次列印的i 1 當二次迴圈時,因為前一次迴圈後,i 1了 再執行迴圈條件i 後,i變成2了,最後再執行 int k i i就等於3了,k也變成3了,此時列印的i當然是3 當3次迴圈時,因為前一次迴圈後,i 3了 再執行迴圈條件...