Re: [請益] 合併line的問題

看板Perl作者 ( Play ball !!)時間17年前 (2007/06/07 15:52), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串3/3 (看更多)
: : foreach $line (<FID>) { : : if( $line =~ /^0/ ){ #line開頭為0的就跟上一行合併 : : $line =~ s/\n//, $line ; : : } else { : : print $line; : : } : : print $line; : : } : : 但是檔案紋風不動....orz : : 能請板上高手幫忙檢查一下哪裡出了問題ㄇ? : 比對的部份我覺得很奇怪,你這個方法的邏輯是 : 「如果開頭為 0 ,我就把這一行的換行給去掉」 : 可是第一行跟地二行之所以會分開來,是因為第一行最後面的 newline ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 哎呀 我真是腦殘 orz...... : 而非第二行 (開頭為0) 的 newline ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 你說的對 我focus錯地方了 /n 是在上一行結束時出現而不是第二行的頭 : 因此我改成「只要開頭不是 0,就把 newline 去掉」 : foreach $line (<FID>) { : chomp($line) if ($line !~ /^\s0/); : print $line; : } : ^\s0 <--開頭有隔一個空格才出現 0 : 如果只是要單純地把第一行跟第二行合併 : $i = 0; : foreach $line (<FID>) { : chomp($line) if (++$i%2 == 1); // $i 遞增,mod 2 如果是 1 代表奇數行 : print $line; : } 感謝您的協助 讓我看清這盲點 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.96.144

06/07 15:56, , 1F
你是威而康
06/07 15:56, 1F

06/11 23:57, , 2F
似乎 可以只使用 chomp 去掉換行符號
06/11 23:57, 2F

06/11 23:58, , 3F
還有。。。印象中foreach是一次抓一行來做
06/11 23:58, 3F

06/11 23:58, , 4F
你的問題可能要另外想個方法解決~
06/11 23:58, 4F
文章代碼(AID): #16Pxb9u6 (Perl)
文章代碼(AID): #16Pxb9u6 (Perl)