-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[21] Non riesco ancora ad ottenere il lock. Voglio solo incrementare un numero nel file. Come faccio? contatore file, contatore

Non vi ha mai detto nessuno che i contatori di accesso sulle pagine web sono inutili? Non contano gli accessi reali, sono una perdita di tempo e servono solo ad alimentare la vanità di chi li utilizza. Meglio prendere un numero casuale. È più realistico.

Ad ogni modo, questo è quello che potete fare se proprio non potete farne a meno:

    use Fcntl qw(:DEFAULT :flock);
    sysopen(FH, "numfile", O_RDWR|O_CREAT) 	 or die "impossibile aprire numfile: $!";
    flock(FH, LOCK_EX) 				 or die "impossibile eseguire flock su numfile: $!";
    $num = <FH> || 0;
    seek(FH, 0, 0) 				 or die "impossibile tornare all'inizio di numfile: $!";
    truncate(FH, 0) 				 or die "impossibile troncare numfile: $!";
    (print FH $num+1, "\n")			 or die "impossibile scrivere numfile: $!";
    close FH 					 or die "impossibile chiudere numfile: $!";

Ecco un contatore di accessi alla pagina decisamente migliore :

    $accessi = int( (time() - 850_000_000) / rand(1_000) );

Se il numero di accessi non fa colpo sui vostri amici, potete provare ad impressionarli con il codice. :-)

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google