Вопросы и упражнения

1. Программист предполагал, что функция print в приводимом фрагменте кода Perl отобразит содержимое переменной $m, а в следующей строке отобразит содержимое массива @record. Найдите ошибки.
$m = 'Исходное данные:\n';
@data = ( 10, Leonard, Euler, mathematician);
print $m, 'Запись: @data';
2. Что напечатают следующие операторы и почему:
$m = "Скаляр \$m\n",
@m = ( 1, 2, 3);
print "Значение равно $m[0]\n";
print "Значение равно $m [0]";
3. Предположим, что есть группа слушателей курса по языку Perl, состоящая из 10 человек. В середине курса слушатели сдают промежуточный экзамен, а в конце — выпускную работу. За экзамен и за выпускную работу выставляется оценка по пятибалльной системе. По окончании курса каждый слушатель получает удостоверение, в котором указано, естественно, его имя, а также оценки за экзамен и выпускную работу. Разработайте базу данных слушателей курса, которую можно использовать для автоматизации подготовки удостоверений об успешном окончании курса. (Указание: воспользуйтесь хэш-массивами.)
4. Дополните реализацию связанного списка из раздела «Связанный список» удалением первого и последнего элемента списка. (Указание: воспользуйтесь функцией delete( ) ).
5. Файл регистрации web-сервера представляет собой обычный текстовый файл, каждая строка которого имеет следующую структуру:
Хост Идентиф Пользователь [Время] "Запрос" Результат Байты
Здесь Хост представляет имя подсоединяемой удаленной машины (сетевое или URL), Идентиф — идентификатор пользователя, Пользователь — имя пользователя, Время — время подключения в формате UTC, Запрос — URL-запрос удаленной машины, Результат — код возврата сервера и Байты — количество переданных на удаленный компьютер байтов. Например,
WWW.M.com - -[24/Nov/2001:02:09:46 +100] "GET /index.html HTTP/1.1" 200 3200
Если идентификатор и имя пользователя не требуются, то вместо них ставятся два символа --.
Разработайте сценарий, который считывает построчно файл регистрации, подсчитывает количество обращений к web-серверу каждой удаленной машины и распечатывает отчет в формате: имя машины — количество обращений, а также общее число обращений на web-сервер. (Указание: воспользуйтесь функцией split для выделения имени машины, циклом while и функцией each для реализации подсчета посещений и печати отчета.)

Следующая страница Содержание главы


Реклама