Я хочу заменить строку на $ var.У runnew есть
input= input/old/should/change;
replace= input/old/replace;
other = input/old/other;
replace_other= input/old/replace_other;
Мой выходной файл должен выглядеть следующим образом:
input= input/old/should/New;
replace= input/old/New_replace;
other = input/old/New_other;
replace_other= input/old/New_replace_other;
Я хочу заменить «input =» на input = input / old / should / New;Я использовал как,
if ($#ARGV != 0) {
die "\n********USAGE <cellname> <tech>********\n";
}
$newinput=$ARGV[0];
open(my $fh, "$runnew") or die "Could not open rerun.txt: $!";
while (<$fh>) {
system ( sed -i "/input=.*/c\input= $newinput" $runnew );
}
Но появляется ошибка «Скаляр обнаружил там, где ожидался оператор в run.pl» и отображает строку sed и спрашивает «(Отсутствует оператор перед $ runnew?)».Когда я использовал тот же sed на терминале, он заменил линию.
Пожалуйста, кто-нибудь может указать, где ошибка?
Да Использовать Sed просто, но у меня есть файл с разными строками, и каждая строка должна быть заменена.Пожалуйста, позвольте мне знать, если у вас есть идея получше, чем эта.Заранее спасибо.