Andres Freund: Zeilenumbruch \n wird nicht ausgegeben.

Beitrag lesen

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