Автор Тема: while, if, else - организация условий.  (Прочитано 2604 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sickboy

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
while, if, else - организация условий.
« : 17 Октября 2006, 13:24:50 »
Привет.

Застрял на простецкой задаче, никак не соображу как компактнее организовать свой алгоритм.
Задача следующая.
Открываю файл для чтения и считываю построчно.
while (<VW>) {
#проверяется тип поиска
    
if ($search_type eq \'type1\') {
        #ищу строку, в соответствии с условиями поиска
        if (/regexp_type1/) { # type1
            print \'вывод отформатировнной строки\';
    }
        }
    if ($search_type eq \'type2\') {
        #ищу строку, в соответствии с условиями поиска
        if (/regexp_type2/) { # type2
            print \'вывод отформатировнной строки\';
    }
        }
    if ($search_type eq \'type3\') {
       #ищу строку, в соответствии с условиями поиска
        if (/regexp_type3/) { # type3
            print \'вывод отформатировнной строки\';
        }
    }
}


Блок  "print \'вывод отформатировнной строки\';" очень большой по своему объему и во всех 3-х случаях он одинаковый. Как это можно все скомпоновать? Подскажите в каком направлении искать решение.

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
while, if, else - организация условий.
« Ответ #1 : 17 Октября 2006, 13:45:49 »
my %hash = (\'type1\' => qr(regexp_type1), ... );

while () {
  if (m|$hash{$search_type}|) { print; }
}

Оффлайн sickboy

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
while, if, else - организация условий.
« Ответ #2 : 17 Октября 2006, 15:02:01 »
arto
спасибо.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28