Re: [問題] Perl讀檔 in Windows

看板Perl作者 (撫星)時間14年前 (2011/03/18 16:59), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/5 (看更多)
找到原因了.... 首先要先知道 Windows的 command-line(亦即DOS) 按Enter時會送出\r\n 但是在txt中, 只有\n (也許整個非Dos環境都是如此) chomp預設只會篩掉\n, 所以如果從STDIN讀入(DOS輸入), 就會仍遺留下\r 改$/ = "\r\n" 可讓chomp篩掉\r\n 但$/也影響到Perl讀取字串的斷點 所以txt檔裡面只有\n 沒有\r, 那Perl就找不到斷點, 應該要把$/改回"\n" 結論: 在Windows 需要DOS輸入時, 才需要改 $/ 不過這狀況其實不常用在實際應用, 多半在練習或debug才會用, 但正是因為如此, 初學者才更容易遇到這個問題而不知解決方法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.166.1

03/18 20:15, , 1F
剛剛特地拿了你的5-2去測試, cmd下沒更改$/ 印出正常._.
03/18 20:15, 1F
文章代碼(AID): #1DWnxoB0 (Perl)
文章代碼(AID): #1DWnxoB0 (Perl)