Нужна помощь с perl.

UDAV

Постоялец
Регистрация
22 Июн 2007
Сообщения
775
Реакции
153
Нужна небольшая помощь с perl.
Имеется сайт на perl, мне нужно его адаптировать под сео.

На самом сайте
PHP:
<title>$title</title>
<meta name="keywords" content="$keywords">
<meta name="description" content="$description">
Эти переменные берутся из админки, но они общие для всего сайта, а мне нужно прописать для каждой страницы.

Подскажите как сделать инклюд файла, в котором будут составлены title,keywords в зависимости от страницы?

В php через switch($_SERVER['REQUEST_URI']){case '/': .. элементарно сделать.. а вот в perl я хз как такое сотворить...
 
PHP:
$_SERVER["REQUEST_URI"];
->
Код:
$ENV{"REQUEST_URI"};
Будет как-то так:
Код:
given($ENV{"REQUEST_URI"})
{
when('/') {...}
}
Короче, тот же switch-case только given-when и с возможностями Perl:D
 
  • Нравится
Реакции: UDAV
Спасибо, но что-то всеравно не получается, 500 ошибка...
Как правильно записать:
PHP:
given($ENV{"REQUEST_URI"})
{
when('/') {
$title = 'Название';
$page = 'Название';
$map = 'Название';
 }
}
или так вообще нельзя?
 
Может Perl древний? В любом случае switch-case можно заменить на if-else if
PHP:
if($ENV{'REQUEST_URI'} eq '/cgi/test.pl')
{

if($ENV{'REQUEST_URI'} eq '/cgi/test.pl')
{
	$title = 'Название'; 
	$page = 'Название'; 
	$map = 'Название';
}
elsif($ENV{'REQUEST_URI'} eq '/cgi-bin/test.pl')
{
	$title = 'Название1'; 
	$page = 'Название1'; 
	$map = 'Название1';
}

}
 
  • Нравится
Реакции: UDAV
UDAV поставь strawberry perl и запускай через cmd -> perl script.pl, когда скрипт заработает, переноси на хостинг.
Привычнее подключить класс Switch, там конструкция аналогична php.

Но вобще то что ты делаеш обычно выносится в отдельный файл seo.inc, а в самом коде переменные. То есть:
условие, определяем $root
подключаем seo (определяем там все как класс или массив)
выводим $seo[$root]['link'];

Но правильно это делать в смарти.
 
  • Нравится
Реакции: UDAV
Назад
Сверху