Oh je,
is ja mächtig verworren was du da schreibst.
Wie wärs damit:
=cut
#!perl
Zaehler, wird per SSI eingebunden
###########################################################
zaehlerdatei
my $cntfile = '/local/home/example.com/files/cntfile.db';
Name der SHTML Datei ergibt sich aus der Umgebung
my $shtmlfile = $ENV{'DOCUMENT_URI'};
###########################################################
use strict;
use DB_File;
print "Content-type: text/html\n\n";
tie (my %cnt, 'DB_File', $cntfile, O_RDWR|O_CREAT, 0644) or exit;
my $i = $cnt{$shtmlfile};
$i++;
$cnt{$shtmlfile} = $i;
untie %cnt;
print qq(Dokument <b>$shtmlfile</b> hat <b>$i</b> Seitenaufrufe.);
exit;
###########################################################
=cut
Btw,
falls du scalare mit Trennzeichen in ein Scalar tun willst, empfehle ich, als Trennzeichen ein solches zu verwenden was NICHT per Tastatur eingegeben werden kann, bspw. eine binäre NULL \0
Und Date's speichere als seconds since the epoch - das macht die Verarbeitung später einfacher.
Gruss, Erwin