Perl убивает мой массив всякий раз, когда я читаю файл:
my @files = ("foo", "bar", "baz");
print "Files: " . join(" ", @files) . "\n";
foreach(@files) {
print "The file is $_\n";
func();
}
sub func {
open(READ, "< test.txt");
while(<READ>) {
}
close READ;
}
print "Files: " . join(" ", @files) . "\n";
производит:
Files: foo bar baz
The file is foo
The file is bar
The file is baz
Files:
но когда я комментирую func()
, это дает то, что я ожидал:
Files: foo bar baz
The file is foo
The file is bar
The file is baz
Files: foo bar baz
Есть идеи, почему это может происходить?