Мне нужно выполнить несколько замен для содержимого файлов в разных каталогах (не рекурсивно).
Например, для всех файлов в каталоге dir / foo / bar :
s/blue/red/;
s/green/yellow/;
И для всех файлов в директории / foobar / bar :
s/orange/black/;
Какой самый эффективный способ написания этого сценария?
В настоящий момент все мои сценарии замещения являются однострочными, и поэтому я совершенно не знаю, как их аккуратно интегрировать в полный сценарий.
Я включил фрагмент из моего скрипта нефункционального теста ниже, если он нужен.
opendir(DIR, $dir) or die "Cannot open directory: $!\n";
my @files = readdir(DIR);
closedir(DIR);
foreach(@files) {
my $filename = $_;
open(FILE, $filename);
while (my $data = <FILE>) {
# Substitution lines
}
close(FILE);
}