while循環我寫了一個簡單的解析器使用以下說明.txt文件:在文件退出特殊字符在Perl
my $file2 = "test.txt";
open ($process, "<",$file2) or die "couldn't manage to open the file:$file2!";
while (<$process>)
{
...
}
在某些文件中,我試圖解析有特殊字符就像右箭頭( - >),我不能從文件中粘貼到這裏。每當解析器擊中那個字符( - >)時,它就退出該文件而不處理它直到結束。
有沒有辦法避免它,並繼續處理文件,直到最後?
我正在使用perl 5.6.1(我不能使用更新的),我需要處理的文件可能有這些特殊字符。
感謝您的幫助。
我認爲一種可能性是文件被編碼。我假設你的意思是' - >'是單個字符(右箭頭)。我不確定如何閱讀Perl 5.6上的編碼文件。希望其他人可以參加或者你可以將你的文件轉換爲純文本。如果你發佈了任何錯誤,它也會很有幫助,你也可以打開'$!'而不是'$ file2'在你的打開的行中來獲得更多的信息。 – chilemagic
我想這是非ASCII字符'→'而不是' - >'。什麼是你的輸入編碼(例如UTF-8)?你應該適當地解碼它。 – amon
感謝大家的幫助。 正確,字符是「→」。該文件應該是ASCII碼,我使用公司專有的工具將其轉換爲ASCII碼,但是我不知道該如何處理這個字符。 你們有什麼建議嗎? 在此先感謝 – Francesco