Hallo, es muss am Wetter liegen: Regentropfen on my Window klopfen PERL'len builden sich ;-) .. ist das folgende Script ok? Wenn ja, wer's braucht nehme es und lasse es auf seiner Site brummen ODER schreibe hier seine Kritik! ; Viele Grüße, Rolf
***
Klicks auf einen Link zählen und umleiten auf Link-URL
Script Name: "klick_redir.pl"
Anstelle der Referenz auf den Link folgendes in der HTML-Datei notieren
a href="/cgi-bin/klick_redir.pl"
Beginn Konfiguration
wohin umleiten, kompletter http-Pfad
$link = "http://www.i-netlab.de";
Absoluter lokaler Pfad zum Verzeichnis des Klickzählers, kein Slash am Ende
$local_dir = "/home/i-netlab.de";
Name der Zählerdatei die Datei von Hand anlegen
$count_file = "count.dat";
Name der Sperrdatei, verhindert Mehrfachzugriff auf "Zählerdatei"
$lock_file = "count.lock";
Ende Konfiguration
Aufruf der Funktionen
&count; # erst Zählen...
&redir; # dann Umleiten & Tschuess
Sub-Funktionen...
Die Zählfunktion
sub count{
my $cx;
my $timeout = 10; # Sekunden warten auf Freigabe einer vergessenen Sperre
my $lockfile = "$local_dir/$lock_file";
my $countfile = "$local_dir/$count_file";
Prüfen ob eine Sperre vorliegt, ggf. Sperre setzen
while(-e $lockfile && ( stat($lockfile))[9] + $timeout > time ){
sleep(1);
}
open LOCK, ">$lockfile" die "$!";
CountFile zum Lesen und Schreiben öffnen
open (CF, "+<$countfile") die "$!";
seek (CF, 0, 0);
$cx = <CF>;
$cx++;
seek (CF, 0, 0);
print CF "$cx\n";
close CF;
Sperre wieder aufheben
close LOCK;
unlink($lockfile);
}
Die Umleitfunktion
sub redir{
use CGI;
my $q = new CGI;
print $q->redirect($link);
}