Re: [問題] Perl讀檔 in Windows
找到原因了....
首先要先知道
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
03/18 20:15, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 3 之 5 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章