我有一個HTM文件。當我在記事本直接打開它,它看起來是這樣的:閱讀HTM文件:每個字符周圍都有神祕的空白處
<HTML>
<BODY BGCOLOR=#FFFFFF BGPROPERTIES=FIXED>
<FONT 000000 FACE=ARIAL SIZE=3>
<HEAD>
當我嘗試這樣做在Perl:
open (my $fh, '<', $filename) or die "Error opening file! $!";
chomp(my @lines = <$fh>);
close $fh;
的Perl數組中的每一行現在有這些額外的空間和看起來像這個:
< H T M L >
< B O D Y B G C O L O R = # F F F F F F B G P R O P E R T I E S = F I X E D >
< F O N T 0 0 0 0 0 0 F A C E = A R I A L S I Z E = 3 >
< H E A D >
關於問題出在哪裏的任何想法?
CLARIFICATION:這些不是我的HTM文件,所以我無法控制它們或它們的創建。我收到文件並且必須處理內容。像s/ (?= |\w)//g
這樣的各種攻擊似乎不會影響這個神祕的空白。正在生成
輸出是這樣的:
foreach (@lines) {
$line .= "$_\n";
}
open($fh, '>', 'output-file.txt') or die "Could not open file $!";
print $fh $line;
close $fh;
檢查編輯器如何處理空格,換行符和內容。還請檢查您在每個環境中使用的編碼,或者至少發佈此信息。 – curveball
你是如何得到間隔輸出? – George
文件的編碼是什麼?確保它不是以UTF-16編碼,或者如果是,請確保在讀取時正確解碼。另外,如果您向我們展示瞭如何實際打印數據以及在您引用的代碼和打印時發生的相關事情,這可能會有所幫助。另外,通過hexdump運行腳本的輸出來查看這些空間實際上是什麼。 – jcaron