MatzeA: Zeilenumbruch \n wird nicht ausgegeben.

Beitrag lesen

Servus,

ich weiss zwar nicht, woher am 3. Wett der Zeilenumbruch kommt, aber ok.
Inzwischen habe ich das ganze etwas umgemodelt.

sub count {
   my ($page,$ipnum)=@_ ;
   my $checknone = 0;
   my $date= &datum_zeit;
   my $lock = 1;
   my @output ;

my @lines;
   my $i=0;
   #Daten laden
   open (DAT , "< ./data/stat.log") || die "Kann Datenfile (/data/stat.log) nicht zum Lesen öffnen" ;
   @lines = <DAT> ;
   close(DAT) ;

#Count schreiben
   foreach $line (@lines)
      {
         $i = $i +1;
         my ($num, $pgname, $ipadress, $datum) = split(/&&/, $line) ;
         $datum=chomp($datum);
         if ($pgname eq $page)
            {
                $num++;
                $checknone = 1;
                $output[i]="$num&&$pgname&&$ipadress&&$datum&&" ;
            }
            else
            {
                $output[i]="$num&&$pgname&&$ipadress&&$datum&&" ;
            }
      }
      if ($checknone == 0)
      {
     $i = $i +1;
     $output[i]="1&&$page&&$ipnum&&$date&&" ;
      }
   open (DAT , "> ./data/stat.log") || die "Kann Datenfile (/data/stat.log) nicht zum Schreiben öffnen" ;
   print DAT "@output";
   close(DAT) ;

}

sub datum_zeit {
our $CONFIG;

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time+(3600*$CONFIG{'ZEITVERH'}));
my $datum = sprintf "%02d.%02d.%04d : %02d:%02d" , $mday , $mon+=1 ,$year+=1900 , $hour , $min ;

return($datum) ;

}

Klappen tut es immer noch nicht. Jetzt wird exakt immer nur ein Wert raus geschrieben, obwohl obige 1. $pgname eq $page Bedingung gar nicht sein kann.

Gruss Matze