Я хочу, чтобы соответствовать определенной строке в файле, после сопоставления конкретной строки я хочу пропустить 5 строк и напечатать следующий. Например.Пропуск определенного количества строк после сопоставления слова PERL
Lecture <==(I want to match lecture)
1
2
3
4
5
Hello <==(And then i want to print this line)
Я попытался сделать это, но это не будет работать:
if ($line =~ m/(Lecture)/) {
$1 = $currentLine;
if ($currentLine == $1+6) {
print $currentLine;
}
}
Что я делаю неправильно?
Используйте переменное имя, отличное от '$ 1', его значение будет заменено на' Lecture' на каждой итерации (из-за (ненужной) группы захвата в регулярном выражении). Кроме того, внутреннее 'if' должно быть вне внешнего. – RobEarl