И глаз может поставить обряд ошибки

Его редкое lea когда-либо неправильно.

Глаз пробежал это стихотворение бросил его

Я берег твоих довольных два нет

Его письмо совершенное шило весит

Мой чекер сказал мне шить.

Неважно, используя мощь регулярных выражений Perl в сочетании с обновляемым

внешний файл с правильно написанными словами может быть интересным экспериментом, оставленным на усмотрение

усмотрению читателя.

ЗАГРУЗКА ФАЙЛОВ

Одним из расширений, упомянутых в конце главы 6, является включение ссылок на

файлы, загруженные пользователем в каталог файлов, связанный с вики. Там обсуждение

основное внимание уделяется процедурам редактирования и рендеринга для связывания, но мало говорится о

фактическая загрузка.

Специальная процедура perl может установить своего рода канал загрузки с клиентом браузера,

тем самым избегая требования предоставления FTP-доступа. Один такой простой пример

показывает общий принцип, хотя детали могут существенно различаться. Для удобства мы

может вызывать модуль Perl CGI (cgi.pm) для использования стандартных методов работы с

загрузки файлов браузера, и в этом случае верхняя часть модуля должна включать:

использовать компьютерную графику;


262

АЛЬТЕРНАТИВЫ И РАСШИРЕНИЯ

Без CGI соответствующие подпрограммы должны быть написаны явно, но чтобы сделать

как можно более надежными (в свете различных особенностей и ошибок клиента браузера),

мы рекомендуем использовать CGI здесь. Список подпрограмм не должен быть трудным для

понимать. Мы комментируем любые особенности, которые зависят от модуля CGI.

$UplPath = $WikiRoot. «добавочные файлы»;

# определено где-то

подзагрузкаФайл {

# -v- попросить пользователя выбрать файл в браузере

мой ©path = split( 1 / 1 , "$query->param(·upload_file') ") ; # компьютерная графика

мой $filename = поп(@путь); # просто имя, а не пути

$filename =~ s/\s+/-/g; # заменить любые пробелы на дефисы

my $filest = w $UplPath/$filename"; # конечный файл

# параметры отладки: print $filename; распечатать $UplPath

# необязательный тест/ошибка для перезаписи существующего или отказа в доступе