我有這樣的代碼:Perl的格格不會刪除所有的換行符
#!/usr/bin/perl
use strict;
use warnings;
open(IO,"<source.html");
my $variable = do {local $/; <IO>};
chomp($variable);
print $variable;
然而,當我打印出來,它仍然有換行符?
我有這樣的代碼:Perl的格格不會刪除所有的換行符
#!/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;
and downvote for ...? – 2011-04-14 01:10:11
下一次問自己,如果你真的認爲一個主流語言的10歲的功能實在是壞,或者如果你只是使用它錯了。 – jiggy 2011-04-13 19:23:45
['select' is not broken](http://www.google.com/search?q=select+isn%27t+broken) – 2011-04-13 20:57:45