Подготовительный этап
Для начала работы нам понадобится сервер с установленной и настроенной ОС. Я использую FreeBSD 6.2, поэтому покажу на ее примере.
- Создаем jail.
- Устанавливаем в jail apache и mod_perl.
- Создаем второй jail.
- Устанавливаем во второй jail subversion.
- Устанавливаем nginx в базовую ОС.
Пример кода
Код на сайте будет оформлен следующим образом:
my $script_name = $ENV{SCRIPT_NAME}; # Создаем переменную $script_name
$functions{ $function_number }->(
cgi => $cgi,
template_params => \%template_params,
server_name => $ENV{SERVER_NAME},
server_port => $ENV{SERVER_PORT},
script_name => $script_name,
);
return Apache2::Const::OK;
Еще один фрагмент кода, для теста:
my $file_handle = IO::File->new( q{/home/perl.ginnie.ru/html/articles/00001_01.html}, q{r} );
my @article_lines;
my $code_block_flag = 0;
while ( my $file_line = $file_handle->getline() ) {
if ($code_block_flag) {
if ( $file_line =~ m{</p>}io ) {
$code_block_flag = 0;
}
else {
$file_line = $highlight_engine->format_string($file_line);
$file_line =~ s{\r?\n}{<br>}og;
}
}
if ( $file_line =~ m{<p class="code">}io ) {
$code_block_flag = 1;
}
push ( @article_lines, $file_line );
}
my $template = HTML::Template->new( filename => q{index.html}, %{$args{template_params}} );
$template->param(
article => join( q{}, @article_lines ),
);
print $args{cgi}->header(
-type => q{text/html},
-charset => q{windows-1251},
);
print $template->output();
