Я пытаюсь редактировать несколько текстовых файлов на месте, используя оператор редактирования Perl $ ^ I.Я просматриваю каталог, используя оператор diamond (<>), например:
$^I = ".bak";
@ARGV = <*.txt>;
while (<>)
{
s/((?:^|\s)-?)(0+)(?=\s|$)/$1.$2/g;
print;
}
Это отлично работает и выполняет ту работу, которая мне нужна.Но что, если мой @ARGV уже заполнен некоторыми другими данными, которые мне нужны для программы?Я пытался сделать следующее:
$^I = ".bak";
my @files = <*.txt>;
while (<@files>)
{
s/((?:^|\s)-?)(0+)(?=\s|$)/$1.$2/g;
print;
}
Но это не работает.Что мне здесь не хватает?Я не могу использовать свой $ ARGV, поскольку он содержит другие данные, и не могу связать его с шаблонами соответствия файлов.
Есть предложения?
Спасибо!