我認爲這會很簡單。我有兩個數組,我想用這些數組中的數字打印一個句子到一個文件中。我嘗試這樣做:Perl打印功能添加不需要的換行符到變量
chomp $array1[$x];
chomp $array2[$x];
print FILE "Number1: $array1[$x] \& Number2: $array2[$x] Some Words\n";
這給了我:
Number1: 0
& Number2: 87.3
Some Words
(這裏的數字只是一個例子。)
任何想法,爲什麼發生這種情況? 我試過使用
$array1[$x] =~ s/\n//g;
$array2[$x] =~ s/\n//g;
以及,但它並沒有固定任何東西。 另外,如果我明確地放在這些額外的新行,像這樣:
print FILE "Number1: $array1[$x]\n \& Number2: $array2[$x]\n Some Words\n"
我得到了相同的輸出,所以不需要的換行不被添加了。爲什麼?
我們需要知道'$ array [1]'和'$ array [2]'是如何被填充的。你的「開放」是什麼樣子(如果你正在從文件中讀取)。該文件創建的操作系統是什麼?您使用什麼操作系統? – DavidO
除非使用單引號打印,否則不需要轉義'&'。 – squiguy
@DavidO文件是在Windows上創建的,腳本正在Linux上運行。 通過排序另一個數組(原始數據)來填充數組,該數組通過讀取文件來填充。在讀入「原始」之前,每一行都被「chomped」。 – CybeatB