Я являюсь абсолютным новичком в perl, и я пытаюсь извлечь строки текста между двумя строками на разных строках, но безуспешно. Похоже, я что-то пропустил в своем коде. Код должен распечатывать имя файла и найденные строки. У вас есть идея, где может быть проблема? Большое спасибо за вашу помощь или совет. Вот пример:Как извлечь строки между двумя строками
*****************
example:
START
new line 1
new line 2
new line 3
END
*****************
и мой сценарий:
use strict;
use warnings;
my $command0 = "";
opendir (DIR, "C:/Users/input/") or die "$!";
my @files = readdir DIR;
close DIR;
splice (@files,0,2);
open(MYOUTFILE, ">>output/output.txt");
foreach my $file (@files) {
open (CHECKBOOK, "input/$file")|| die "$!";
while ($record = <CHECKBOOK>) {
if (/\bstart\..\/bend\b/) {
print MYOUTFILE "$file;$_\n";
}
}
close(CHECKBOOK);
$command0 = "";
}
close(MYOUTFILE);
Я думаю, что вещь с '..' в середине должен быть флип-флоп, то есть'/\ bstart \ b/../\ bend \ b/'. – TLP
Почему вы думаете, что он соответствует многострочной строке? Он явно пытается использовать флип-флоп-оператора. –