Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Victor Lokhin                        2:5020/400     07 Apr 2002  05:06:29
 To : All
 Subject : Re: help
 -------------------------------------------------------------------------------- 
 
 
 "Artem Kuznecov" <Artem.Kuznecov@p46.f29.n5059.z2.fidonet.org> wrote in
 message news:MSGID_2=3A5059=2F29.46_3caf737e@fidonet.org...
 
 > Помогите плиз..
 > скрипт
 > записывает в переменную ip адрес клиента
 > открывает файл и проверяет
 > есть ли в данном файле строка содержащая данный ip
 > если есть, то перезаписывает строку в тот же файл
 > но с новым значением $time
 > если нет, то просто перезаписывает строку в файл...
 > так по идее должно быть, но не получается... :-(
 > подскажите где ошибка, если она есть...
 >
 > #!/bin/perl.exe
 >
 
 Для начала
 use strict;
 
 my $ip=$ENV{'REMOTE_ADDR'};
 
 open F, "data.dat";
 my @data=<F>;
 close F;
 
 >
 > open F, ">data.dat";
 > print f,"";
 > close f;
 
 Hе совсем ясно для чего нужно очищать файл если далее в него идёт дозапись
 Hу и flock надо использовать т.к. я понял, что скрипт хочет выполняться как
 CGI
 
 open F, ">data.dat";
 flock(F,2);
 my ($word, $ipaddr, $time);
 
     map {
         s/\s+$//;
         ($word, $ipaddr, $time) = split "#";
         if ($ipaddr eq $ip) {
             $time=..;#присваивается новое значение
         }
         print F join('#',$word, $ipaddr, $time), "\n";
     } @data;
 close F;
 
 P.S: Может стоит посмотреть в сторону DBM-файлов
 
 Виктор
 --- ifmail v.2.15dev5
  * Origin: EMS JSC News Server (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: help   Victor Lokhin   07 Apr 2002 05:06:29 
Архивное /ru.cgi.perl/2400966217bc4.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional