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