Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[Perl] http редирект ?

7.4K
25 ноября 2008 года
Nook
65 / / 17.01.2007
требуется написать скрипт редиректа с учетом перенаправленных пользователей
собственно код:
#!/usr/bin/perl

$rderr="rd_error.txt";
$rderr_answer="rderror.html";

$log=1;
$rdlog="rdlog.txt";
$links="links.txt";
$lockfile="rdlock.tmp";
$lockfile2="rdelock.tmp";
##############################################

$query=$ENV{'QUERY_STRING'};
$ldate=scalar localtime;
$ip=$ENV{'REMOTE_ADDR'};

foreach $item(split(/&/,$query)) {
($name,$value)=split (/=/,$item);
$value=~tr/+/ /;
$value=~ s/%(..)/pack("c",hex($1))/ge;
$PARAM{$name}=$value;
};

open FL,"<$links";
@vector=; --------------ошибка первая
close FL;

foreach $line(@vector){
chomp $line;
($name,$value)=split (/=/,$line);
$v{$name}=$value;
}
$id=$PARAM{'id'};

$URL=$v{$id};
if ($URL ne "")
{
if ($log==1){
if ( -e "$lockfile")
{for ($wait=0;$wait<100;$wait++)
{if ( -e "$lockfile") {sleep .2;} else{goto wrtlog;};}
goto nowrtlog;
};
wrtlog:
open TMP,">$lockfile"; close TMP;
open LOG,">>$rdlog";
print LOG "\"$ip\" \"$ldate\" \"$id\"\n";
close LOG;


unlink "$lockfile";
nowrtlog:
}
print "HTTP/1.1 302 Moved Temporarily\n";
print "Content-Type: text/html\n";
print "Location: $URL\n\n";
}
else
{
if ( -e "$lockfile2")
{for ($wait=0;$wait<100;$wait++)
{if ( -e "$lockfile2") {sleep .2;} else{goto wrtelog;};}
goto nowrtelog;
};
wrtelog:
open ETMP,">$lockfile2"; close ETMP;
open ERLG,">>$rderr";
print ERLG "\"$ip\" \"$ldate\" \"$id - ID unknown\"\n";
close ERLG;
unlink "$lockfile2";
nowrtelog:
print "HTTP/1.1 200 OK\n";
print "Content-Type: text/html\n\n";
open ER,"rderror.html";
@txt=; close ER; ---------ошибка вторая
foreach $row(@txt){print $row;}
}

скрипт выдает две ошибки и не работает
помогите пожалуйста ,расскажите что не так ,очень благодарен.
7.4K
26 ноября 2008 года
Nook
65 / / 17.01.2007
:confused:
7.4K
28 ноября 2008 года
Nook
65 / / 17.01.2007
:confused:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог