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.
=======================================