мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
perl:ex [09/10/2012 16:35] vlasovperl:ex [04/04/2017 17:30] (текущий) – [Урок 8: Работа с ключиками в CGI.pm] vlasov
Строка 4: Строка 4:
  
 **Задание:** Написать небольшой скрипт, который вычисляет некоторую числовую функцию, определненную самим программистом **Задание:** Написать небольшой скрипт, который вычисляет некоторую числовую функцию, определненную самим программистом
-(корни квадратного уравнения, факториал натурального числа, простое число или составное и т.п.) +(корни квадратного уравнения, факториал натурального числа, числа Фиббоначи, простое число или составное и т.п.) 
  
 Примерный образец реализации такого задания может быть [[:perl:ex0|найден здесь]]. Примерный образец реализации такого задания может быть [[:perl:ex0|найден здесь]].
Строка 30: Строка 30:
  
 Образец задания 3 [[:perl:ex3|здесь]]. Образец задания 3 [[:perl:ex3|здесь]].
 +
 +**Более простое упражнение.** Взять некоторый многострочный текстовой файл произвольного содержания, в котором встречается определённое слово, например "test", заранее определённое число раз. Написать скрипт, который подсчитывает точное количество вхождений слова "test" в указанном текстовом файле с помощью функции <nowiki>index($str,"test",$pos)</nowiki>, используемой в цикле. Особой оптимизации не требуется, главное -- точный подсчёт встречаемости!
 +
 +Файл для упражнения  [[:perl:task3-0|здесь]].
  
 ===== Урок 4: регулярные выражения ===== ===== Урок 4: регулярные выражения =====
Строка 68: Строка 72:
 Примерный образец реализации такого задания может быть [[:perl:ex7|найден здесь]]. Примерный образец реализации такого задания может быть [[:perl:ex7|найден здесь]].
 [[http://users.nsunc.com/~vlasov/testform2.html|Образец страницы]], использующий данный скрипт, и [[:perl:ex7html|код самой страницы]] [[http://users.nsunc.com/~vlasov/testform2.html|Образец страницы]], использующий данный скрипт, и [[:perl:ex7html|код самой страницы]]
 +
 +**Отметим**, что cgi-скрипты можно писать на любом языке программирования, [[perl:ex7pascal|например, на Pascal]], и работать это будет следующим образом: [[http://users.nsunc.com/~vlasov/testpas.html|Образец страницы на паскале]].
 +
 +[[perl:testcgi|тестовая страничка на Баше]]
 +
 +===== Урок 8: Работа с "ключиками" в CGI.pm =====
 +
 +Скрипт ниже первым делом пытается считать ключик с именем "mucoo", и если ключик определен, то выводится его значение. Если ключик не определен, то он создается. Значение выбирается по текущему времени в секундах: %%$t = time();%% а время жизни --- один час. При этом выводится вся возможная информация о ключике с именем "mucoo". [[http://users.nsunc.com/~vlasov/cgi-bin/cookie.cgi|Действующий скрипт доступен здесь.]]
 +
 +<code perl>
 +#!/usr/bin/perl
 +
 +use CGI qw(:standard);
 +$coo = cookie("mucoo");
 +if (defined($coo)) {
 +#if (1) {
 +  print header(-charset=>"utf-8");
 +  print start_html("Your cookie"), p("You cookie was: <b>$coo</b>"),  end_html();
 +} else {
 +  $t = time();
 +  $coo = cookie(-name => "mucoo", -value => $t, -expires => "+1h");
 +  print header(-charset=>"utf-8",-cookie=>$coo);
 +  print start_html("Setting cookie"), p("You cookie is now: <b>$coo</b>"),  end_html();
 +};
 +</code>