Первая строка «shebang» (#!) сообщает веб-серверам (и оболочкам *nix), где искать
интерпретатор перла. Эта строка игнорируется при установке Windows, если вы не используете
в контексте, например, веб-сервера Apache. Вместо этого файлы CGI связаны
с помощью интерпретатора Windows или сервера PWS/IIS. Ярлык значка для
В противном случае «Quicki server» содержит путь Perl как часть своей командной строки.
РАЗБИРАЕМ QUICKIWIKI
211
Так называемая «строгая прагма» полезна, если вы хотите обеспечить абсолютно правильную
кодирование. Это вызывает специальный модуль библиотеки Perl, который выполняет проверку синтаксиса (поэтому
путь к библиотеке должен быть установлен с помощью @INC либо в серверном компоненте, либо в сценарии, который
требует доступа). Эта проверка часто может быть слишком строгой для случайного программирования.
потому что нарушения синтаксиса просто немедленно прекращают выполнение с небольшим указанием
почему в контексте вики. Раскомментируйте команду, чтобы использовать strict. В качестве альтернативы вы
можно поставить как «строгий», так и флаг, чтобы генерировать дополнительные предупреждения в строке shebang
(#! /usr/bin/perl -w use strict), но только если вы уверены, что строка не
игнорируется.
$ | + +; # OUTPUT_AUTOFLUSH (если $| не равно нулю)
print "Тип содержимого: text/html\n\n";
Оператор печати отправляет требуемый заголовок клиенту браузера, заявляя, что
мы намерены отправить HTML-контент.
моя отметка $ = "\ 263" ;
my $link = "[AZ][az]+([AZ][az]+)+";
Мы определяем редко используемый символ (не ASCII) как разделитель замены для
позже, а затем настройте шаблонное правило для использования при идентификации ссылок на вики-страницы. К
расширить это правило, чтобы разрешить имена страниц с цифрами, просто измените [az] на [aζθ-9], но обратите внимание, что одно и то же правило должно применяться во всех модулях.
# распечатать карту("$_
... $ENV{$_}<BR>", ключи сортировки %ENV)?
Это полезный оператор отладки, отключенный маркером комментария. Он отображает
текущие переменные окружения и их значения.
мой $SearchForm = <<EOF ;
<форма action=search.cgi>
<input type="text" size="40" name="search">
<input type="submit" value="Поиск">
</форма>
EOF
Может быть удобно предопределить некоторые компоненты HTML, которые будут использоваться позже. Позже
(оцененная) ссылка на переменную $SearchForm вставляет этот исходный текст для
форма.
212
ИЗУЧЕННЫЕ КОМПОНЕНТЫ ВИКИ
моя $page = $ENV{QUERY_STRING} =~ / Λ ($1ίη10$/
? 1 доллар
: "Добро пожаловать, посетители";
Здесь мы пытаемся определить допустимое имя страницы в запросе, по умолчанию это вики.
верхняя страница. Чтобы иметь другое имя главной страницы, отредактируйте это значение по умолчанию.
мой% пар;
$par{страница} = $страница;
$par{название} = $страница;
$par{title} =~ s/( .) ([AZ])/$1 $2/г;
Все это создает «хэш» или список значений ключа, содержащий именованный текст.
компоненты, используемые позже для заполнения страницы шаблона. Фактический контент страницы будет
заканчиваются в компоненте "тело". Строго говоря, имена компонентов
следует заключать в одинарные кавычки, но в обычном Perl это часто опускают.
мое $тело, $дата;
если ( -e "страниц/$страница" ) {
open(F, "pages/$page") или die "$page: $!";
мой $nl =.$/; неопределенный $/;
$_ = <F>; # получить все строки
закрыть (Ф);
$/ = $nl;
$body = &FormatBody ($_) ;
$date = &mdy (-M "страницы / $страницы" );
} еще {
$тело = << "ЕОФ";
"$page" еще не существует. <BR>
Используйте кнопку <strong>Изменить</strong>, чтобы создать его.
EOF
}