私はWindowsでperlを実行していますが、CRLF(0d0a)の行のテキストファイルがあります。問題は、Windowsのperlで行を分割して処理しているファイルの周りにこれらの時折の0a文字が散在していることです。私の考えは、ファイルを前処理して、CRLFで分割された行を読み込むことですが、少なくともWindowsでは、LFで分割することを主張しています。テキストファイルから余分な改行文字を取り除くためのスクリプトが必要です
完全に0x0dを欠場するようだ...私は$/
local $/ = 0x0d;
open(my $fh, "<", $file) or die "Unable to open $file";
while (my $line = <$fh>) {
# do something to get rid of the 0x0a embedded in the line of text;
}
を設定しようとしました...が、これは複数行を読み取ります。私はまた、 "\ n"、 "\ n \ r"、 "\ r"、 "\ r \ n"に設定しようとしました。これを行う簡単な方法が必要です!
ファイルを正しく処理できるようにする必要があります。だから、ファイルを開く、CRLFでファイルを分割する、0dで始まらない0aを見つけて、それを爆破して1行ずつ新しいファイルに保存するスクリプトが必要です。
ご協力いただきありがとうございます。
この正規表現は次のとおりです: 'qr /([\ n \ x {0B} \ f \ r \ x {85}] {1,2})/;たぶん[ファイル::編集::ポータブル](https://metacpan.org/release/STEVEB/File-Edit-Portable-1.24) – stevieb