Daniel: Counter in Perl.

Beitrag lesen

Hallo Leute!

weil mein Counter (von Goweb) in letzter Zeit nicht gerade zuverlässig ist, habe ich mich entschlossen, ein Counter in PERL zu schreiben. Soweit so gut. Auf meinem Rechner (Win95) läuft es einwandfrei. Auf meiner Site (Apache unter Unix) läuft es leider nicht. Ich habe auch die nötigen Sachen angepaßt und die Zugriffsrechte auch (ich hab's mit 777 und 755 probiert).
Nachfolgend mein Source-Code. Der Counter wird korrekt angezeigt aber. Aber die Inkrementierung findet nicht statt und in der Protokoll-Datei steht auch nichts :o(

Vielen Dank im voraus
Daniel

PS: Verbesserungsvorschläge sind auch willkommen :o)

#!/usr/bin/perl
$BASEDIR="/usr/www/htdocs/userid"; #natürlich habe ich meine userid hier angegeben *g*

#eine Datei namens count.txt wird geöffnet und eingelesen. Dadrin ist der aktuelle Counterstand #abgespeichert.
@zeilen = ("");
open(COUNT, "<$BASEDIR/ml/count.txt");
while(<COUNT>)
{
push(@zeilen,$_);
}
close(COUNT);

$counter = ++$zeilen[1]; #counter wird inkrementiert
@zeichen = split(//,$zeilen[1]); #Der Counterwert wird gesplittet (Counter besteht aus 4  Ziffern und wird in 4 Teilen geteilt)

#Erzeugung von HTML-Code
$grafik[0] = "<img src=../ml/digits/$zeichen[0].gif>";
$grafik[1] = "<img src=../ml/digits/$zeichen[1].gif>";
$grafik[2] = "<img src=../ml/digits/$zeichen[2].gif>";
$grafik[3] = "<img src=../ml/digits/$zeichen[3].gif>";

#Counter-Datei wird mit dem neuen Wert überschrieben.
open(COUNT2, ">$BASEDIR/ml/count.txt");
print COUNT2 $counter;
close(COUNT2);

#ich will die Zugriffe mitprotokollieren, deshalb Ermittlung der Zeit.
$date=localtime(time);  
($day, $month, $num, $time, $year) = split(/\s+/,$date);

#Protokolldatei. Mitprotokolliert werden Besuchernr. - Datum und IP + Host.
open(STAT, ">>$BASEDIR/ml/zugriff.dat");
print STAT "$counter - $num. $month $time - $ENV{'HTTP_USER_AGENT'} - $ENV{'REMOTE_ADDR'} - $ENV{'REMOTE_HOST'}\n";
close(STAT);

#jetzt wird die Datei mit dem Counter erzeugt (sie befindet sich in einem Frame)
print <<__END_OF_TEXT__;
Content-type: text/html

<head>
<link rel=stylesheet type="text/css" href="../ml/style.css">
</head>
<body bgcolor="#ADCDFF">
<center>
<h3>
Sie sind Besucher Nr.:
</h3>
<br>
$grafik[0]$grafik[1]$grafik[2]$grafik[3]
</center>
</body>

__END_OF_TEXT__