armandi
24-06-2010, 14:56
Ребяты помогите решить проблему...
Есть текстовый файл содержащий аннотации статей.
Необходимо извлечь фамилии авторов которые там находятся в формате Иванов И. И..
Написал скрипт с помощью рег. выражений, но он находит лишь первое совпадение
# Открываем файл
open(TEXT,"ww.txt") || die "Не могу открыть файл";
# Читаем его содержимое
@lines=<TEXT>;
# Закрываем файл
close TEXT;
# Помещаем содержимое файла в переменную $all, предварительно слив всё в одну строку
$all = join("",@lines);
if ($all=~ /([A-Яа-я]{2,20}\s[А-Я]\.\s[А-Я]\.)/) {print $1;}
Он печатает лишь первую фамилию в файле... остальных похоже даже не ищет...
Как сделать так чтоб он в этой строке находил все совпадения и печатал их в столбик (или записывал в файл)?
Есть текстовый файл содержащий аннотации статей.
Необходимо извлечь фамилии авторов которые там находятся в формате Иванов И. И..
Написал скрипт с помощью рег. выражений, но он находит лишь первое совпадение
# Открываем файл
open(TEXT,"ww.txt") || die "Не могу открыть файл";
# Читаем его содержимое
@lines=<TEXT>;
# Закрываем файл
close TEXT;
# Помещаем содержимое файла в переменную $all, предварительно слив всё в одну строку
$all = join("",@lines);
if ($all=~ /([A-Яа-я]{2,20}\s[А-Я]\.\s[А-Я]\.)/) {print $1;}
Он печатает лишь первую фамилию в файле... остальных похоже даже не ищет...
Как сделать так чтоб он в этой строке находил все совпадения и печатал их в столбик (или записывал в файл)?