我有如下代码:
#!/usr/bin/perl
use strict;
use warnings;
open(IO,"<source.html");
my $variable = do {local $/; <IO>};
chomp($variable);
print $variable;
但是,当我打印它时,它仍然有换行符?
它删除最后一个换行符。
由于您在整个文件中啜饮,您将不得不进行正则表达式替换以摆脱它们:
$variable =~ s/\n//g;
$/
Chomp 仅从字符串末尾删除一个换行符(实际上是 的当前值,但在您的情况下这是一个换行符)。要删除所有换行符,请执行以下操作:
$variable =~ y/\n//d;
或者,您可以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;