2

私は次のようなコードを持っています:

#!/usr/bin/perl
use strict;
use warnings;
open(IO,"<source.html");
my $variable = do {local $/; <IO>};
chomp($variable);
print $variable;

しかし、私がそれを印刷するとき、それはまだ改行を持っていますか?

4

3 に答える 3

17

最後の改行を削除します。

ファイル全体を丸呑みしているので、それらを取り除くために正規表現の置換を行う必要があります。

$variable =~ s/\n//g;
于 2011-04-13T19:22:03.047 に答える
7

Chomp$/は、文字列の末尾から改行(実際には、の現在の値ですが、この場合は改行です)のみを削除します。すべての改行を削除するには、次のようにします。

$variable =~ y/\n//d;
于 2011-04-13T19:21:30.433 に答える
2

または、次chompのように各行を読むことができます。

#!/usr/bin/perl

use strict;
use warnings;

open my $io, '<', 'source.html';
my $chomped_text = join '', map {chomp(my $line = $_); $line} <$io>;

print $chomped_text;
于 2011-04-13T19:38:22.643 に答える