5

CR LF のような行を削除する必要があります。

コーディング - Windows-1250 Windows 7 JA

私はチョップ、チョップ、\Rを何も変更しない\r\nなどに変更しようとしましたが、何も機能しません...

前もって感謝します

use strict;
$/ = "\r\n";
open FILE , "<", "file.txt" or die $!;
while (<FILE>) {
    my @line = split /,/ , $_;

    foreach my $l (@line) {
        print $l;
    }
    sleep(1);
}
4

5 に答える 5

2

Unix のようなコマンド ラインを使用している場合は、シェル プロンプトで次のコマンドを実行します。

  • perl -pe 's/^M//g' file.txt # ^M mean control-M, press control-v control-M, the CRLF character
  • perl -pe 's#\r\n$#\n#g' file.txt
  • 于 2013-04-05T03:10:07.460 に答える
    0

    それはPerlのワンライナーです... Linuxで次のことを試してください:

    perl -0pe 's/[\r\n]//g' < file.txt
    sleep 1
    

    Windows では次のようになります。

    perl.exe -0pe "s/\015\012|\015|\012//g" < file.txt
    ping 1.1.1.1 -n 1 -w 1000 > nul
    
    于 2013-03-31T18:08:20.270 に答える
    0

    \s* が機能するはずだと思います。

    use strict;
    use warnings;
    
    open FILE , "<", "file.txt" or die $!;
    
    while ( my $line = <FILE> ) {
    
        $line =~ s{ \s* \z}{}xms;  # trim trailing whitespace of any kind
    
        my @columns = split /,/ , $line;
    
        for my $column (@columns) {
    
            print "$column ";
        }
        sleep(1);
    
        print "\n";
    }
    
    于 2013-03-31T19:59:21.313 に答える