|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/2400966217bc4.html, оценка из 5, голосов 10
|