Hi,
Inzwischen habe ich das ganze etwas umgemodelt.
Hm, bei mir sieht es so aus, und funktioniert:
#!/usr/bin/perl -w
use strict;
count("tes3t1",1231234212);
count("tes3423",123132412312);
count("tes32344512",12315522312);
sub count {
my ($page,$ipnum)=@_ ;
my $checknone = 0;
my $date= "2222";
my $lock = 1;
#Daten laden
open (DAT , "< ./stat.log") || die "Kann Datenfile (/data/stat.log) nicht zum Lesen öffnen" ;
my @lines = <DAT> ;
close(DAT) ;
#Count schreiben
open (DAT , "> ./stat.log") || die "Kann Datenfile (/data/stat.log) nicht zum Schreiben öffnen" ;
flock(DAT,2) if ($lock==1) ;
foreach (@lines)
{
my @poll_set = split(/|/,$_);
if ($poll_set[1] eq $page)
{
$poll_set[0]++;
$checknone = 1;
}
chomp $poll_set[3];
print DAT "$poll_set[0]|$poll_set[1]|$poll_set[2]|$poll_set[3]|\n";
}
close(DAT) ;
if ($checknone == 0)
{
#
open (DAT,">> ./stat.log") || die "Kann Datenfile (/data/stat.log) nicht zum Schreiben öffnen";
flock(DAT,2) if ($lock==1) ;
print DAT "1|$page|$ipnum|$date\n";
close(DAT);
}
}
Tut mir leid, ich hab gerade keine Lust auf wirkliches erklären, da du scheinbar allen Fragestellungen auszuweichst.
Grüße, Andres Freund