В настоящее время:
Я новичок в написании сценариев, обучаю себя по ходу дела, и это мой первый сценарий, который я разрабатываю. То, что пытается сделать мой скрипт - это посмотреть на указанный файл, отсканировать файл, чтобы найти слово "Ошибка". В настоящее время он печатает остальную часть файла из точки "ОШИБКА" в выходной файл.
Проблема:
После нахождения слова "ОШИБКА" в файле, как я могу напечатать предыдущие 20 строк текста из слова "ОШИБКА" в выходной файл и добавить оставшуюся часть файла из точки "ОШИБКА" в тот же выходной файл?
Возможное решение?
Буду ли я использовать какой-то цикл здесь, чтобы сделать это? У меня есть код sudo = в моей голове, чтобы понять, как это сделать, но я не уверен, как это реализовать. Кто-нибудь может посоветовать или сказать мне, если есть лучший способ сделать это?
Автор сценария:
my $file_handle = IO::File->new ('output','a') or die;
print $file_handle "*****************************\n";
while(<>) {
print $file_handle $_ if(/.*ERROR/ .. /^XXX/);
}