作者StarTouching (撫星)
看板Perl
標題[問題] Perl讀檔 in Windows
時間Fri Mar 18 13:30:08 2011
在寫駱馬書7-1時又出現新問題
open STORY, "<", "story.TXT";
while(<STORY>)
{
print if /Fred/;
}
close STORY;
檔案讀取無法一次讀一列(在txt檔中以Enter輸入的換行分列)
$_會一口氣吃進全部的文字 亦即 '...bbb\r\nbbb...'
就算改用 @lines = <STORY>, 裡面也只有一個把整篇文包起來的字串
這問題恐怕又是在windows才會發生的, 請問該怎麼一次讀一列呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.166.1
※ 編輯: StarTouching 來自: 111.251.166.1 (03/18 13:34)
1F:推 rkcity:我這邊一直都是正常使用耶, 怎麼你會遇到這麼多換行問題 03/18 15:56
2F:→ StarTouching:是因為我用actveperl嗎? 還是因為我用use 5.010? 03/18 16:30
3F:→ StarTouching:又或是 use encoding 'big5', Filter=>1; ? 03/18 16:31
4F:→ StarTouching:不過Windows換行本來就是\r\n 這點是確定的 03/18 16:31
5F:推 abliou:說實話 我用activeperl-win32好幾年也沒碰到換行問題 03/18 18:34
6F:→ StarTouching:我已經自己回答了啦 因為前面的問題才導致這個問題 03/18 18:44
7F:→ rkcity:Active Perl +1 只有小時候不知道用chomp()才遇過換行問題 03/18 20:17
8F:→ rkcity:後來都沒碰過了 03/18 20:18