Struppi: Zeilenumbruch \n wird nicht ausgegeben.

Beitrag lesen

also nochmals.
Das erste Script, welches lediglich ein get bekommt auswertet.

#!c:\perl58\bin\perl.exe

use strict;
use Config::IniFiles;
use CGI::Carp qw(fatalsToBrowser);
use CGI;

also ausser das die Warnungen fehlen.

open (DAT , "< ./data/stat.log") || die "Kann Datenfile (/data/stat.log) nicht zum Lesen öffnen" ;
   @lines = <DAT> ;
   close(DAT) ;

#Count schreiben
   foreach my $line (@lines)
      {
         chomp $line ;
         my ($num, $pgname, $ipadress, $datum) = split(/&&/, $line) ;
         chomp $datum ;

if ($pgname eq $page)
            {
                $num++;
                $checknone = 1;
                $output[$i]="$num&&$pgname&&$ipadress&&$datum&&" ;
            }
            else
            {
                $output[$i]="$line" ;
            }
            $i++;

}
      if ($checknone == 0)
      {
      $i++;
      $output[$i]="1&&$page&&$ipnum&&$date&&" ;
      }
   open (DAT , "> ./data/stat.log") || die "Kann Datenfile (/data/stat.log) nicht zum Schreiben öffnen" ;
   print DAT "@output";

Du hast hier keine Trenner mehr zwischen deine Datensätzen.

close(DAT) ;

}

würd ich hier, die Datei zum lesen + schreiben öffnen
Dann flocken dazu musst du sie aber dann erst löschen (truncate) und den Filezeiger auf den Anfang setzten.

Das ist sicherere als das.

struppi.