Команда интерпретируется, и вызывается соответствующая подпрограмма. Команды пользователя перечислены ниже.
analyze. Выгрузить и проанализировать текстовый файл.
generate. Сгенерировать пародию длиной n - слов.
reset. Очистить таблицу частот.
bye. Выйти из программы.
goodbye. Выйти из программы.
В блоке continue {} цикла обработки команд переменная $quit_now устанавливается равной 0, что приводит к сбросу глобального счетчика int.
Строки 37-60. Подпрограмма do_analyze (). Эта подпрограмма используется для выгрузки текстового файла на сервер и выполнения анализа. Подпрограмма в качестве параметра получает путь к файлу и пытается открыть его с помощью модуля IO::File. Если файл не может быть открыт, подпрограмма выдает предупреждающее сообщение и возвращает управление. В ином случае серверу отправляется команда data и строка ответа. Если ответ имеет ожидаемый код результата 201, выполнение подпрограммы продолжается. В противоположном случае выполняется эхо-повтор ответа на стандартное устройство вывода сообщения об ошибках и подпрограмма возвращает управление.
Теперь начинается выгрузка текстового файла на сервер. Как и в коде сервера, выгрузка выполняется в блоке eval {}, но в этом случае должен быть выполнен перехват сигнала int. Перед входом в блок локальная переменная $abort устанавливается равной ложному значению.
2015-02-15 18:21:52
это интересно В повседневной жизни с приходом выходных дней мы решаем, чему посвятим наше свободное время. Одним из вариантов может стать поход в театр, но куда пойти. Ответ можно найти в сети, и отдать предпочтение зрелищному спектаклю Юнона и Авось в театре Ленкома. На странице http://www.unona-i-avos.su можно забронировать билеты на этот спектакль.