我有問題。這個perl程序應該打開所有文件並將它們映射到一起,類似於在unix系統中粘貼命令。Perl映射函數不起作用
my @files;
for (@fileList ? @fileList : qw(-)) {
open $files[@files], '<', $_; #}
}
while (grep defined, (my @lines = map {scalar <$_>;} @files)) {
chomp @lines;
print join("\t", @lines), "\n";
}
的問題是,當涉及到兩個不同的文件,如
One
Two
Three
和:
Apple
Banana
Orange
Kiwi
它拋出我未初始化值的誤差。
Use of uninitialized value $lines[0] in chomp
Use of uninitialized value $lines[0] in join
同樣的錯誤反之亦然,當文件是蘋果,香蕉..和一個兩個三。
預先感謝您
@TLP:它不是未定義(數組是從不未定義)和參照元素之後,最後也正是代碼的設計要做 – ysth
標題有誤導性。 '地圖'完美無瑕。該錯誤在您的代碼中。 – mpe