Deveria ter zerado mais vezes !!

Veja que vc bloqueia o arquivo e como o flock vai ficar aguardando poder
bloquear, qualquer acesso simultaneo (no exato segundo) iria zerar.

Open
Aguarde at� bloquear
Ler
unlock
Fechar

open
lock
gravar
unlock

Alguem faz a leitura na hora que vc esta com o arquivo zerado...

Pimba. zerou!

Use este. (nunca zerou!)

sub ConsultaID()
{
 my ( $ID, $cnt );
  unless ( open(C, "+<../count/login") ) {
     $ID = "00000000";
   } else {
     flock(C, 2);
     $ID = <C>;
     $ID = sprintf("%08s", $ID+1);
     seek(C, 0, 0);
     print C $ID;
     flock(C, 8);
     close(C);
  }
  return ( $ID );
}

Por favor...

Mail em texto!

Felipe wrote:

> Pessoal o que tem de errado com o CGI.. � a segunda vez que o contador
> zera: #########!/usr/local/bin/perl
> open(ARQ,"<cgi/counter/counter.txt");
> flock ARQ,2;
> $reg=<ARQ>;
> open(ARQ,">cgi/counter/counter.txt");
> $num=($reg+1);
> print ARQ "$num";
> flock ARQ,8;
> close(ARQ);
> $cont=length($reg);
> print "<p align=\"center\"><font
> face=\"Arial\"><small><small>Visitantes<br>";
> for($i=4;$i>$cont;$i--)
>         {
>         print"0";
>         };
> print "$reg</small></small></font></p>";
> exit;########### Em Unix o flock funciona??? eu uso unix...ele �
> chamando por ssi da p�gina... funciona certinho.. s� que zerou de
> novo... ele zerou em 600 agora em 2500.... Valeu..... ... Felipe ....

--
 FiscoData Legisla��o On Line - Curitiba/PR
Marco A P D'Andrade - [EMAIL PROTECTED]
 WebMaster (41) 333-5775


http://www.mrweb.com.br/perl/
=======================================
>>No site da lista, voce tera tudo sobre PERL,
>>LINUX, PHP, ASP e informacoes, cadastramento
>>e descadastramento da Lista.
=======================================

Responder a