Вот мой код:
while (<LIST>) {
if (m|^\w|) {
chomp;
print "$_\n";
}
if (m|^\t|) {
chomp;
$search = substr($_, 1);
print " $search\n";
while (<BIBLE>) {
while ($_ =~ /\b$search\b/ig) {
$book = substr($_, 0, 2);
$chap = substr($_, 3, 3);
$verse = substr($_, 7, 3);
print " $book:$chap:$verse\n";
}
}
}
}
Итак, в основном у меня есть список слов и корпус.Я беру слова из строк, которые начинаются только с вкладок, и делаю эти слова поисковыми терминами.Затем я хочу найти дескриптор файла BIBLE, чтобы найти все вхождения этого поискового запроса.Это работает, как ожидалось, до второго основного цикла.Это ввод в цикл для печати оставшихся слов в списке, но не переназначение переменной $ search и повторный поиск в корпусе каждого слова подряд.Вот вывод:
headword1
abahandiiki
41:001:022
41:002:016
41:003:022
41:007:005
41:008:031
41:009:011
41:009:014
41:009:016
41:010:033
41:011:018
41:011:027
41:012:035
41:012:038
41:014:001
41:014:043
41:014:053
41:015:001
41:015:031
43:008:003
abahe
abaheereza
headword2
baheereza
baheerezakazi
bahiire
bahikiirire
bahingi
bahungire
headword3
okurikuhikiirizibwa
okurikushushana
okurikusiimwa
okurikwera
okurogota
okuruga
okurugirira
okurungi
okurwanisa
okurya
okushaagaana
okushara
Есть идеи, как заставить последующие поиски работать?Что-то не так с кодом?