Struppi: programmunterseiten in cgi

Beitrag lesen

open (DAT, "<datei.txt");

hier empfiehlt es sich immer zu prüfen ob das öffnen geklappt hat und im Fehlerfall eine entsprechende Meldung auszugeben:

open (DAT, '<', 'datei.txt') || die "Kann datei.txt nicht öffnen, weil: $!";

my @dat = <DAT>;

Das solltest du nur machen, wenn du weißt, dass die Datei nicht gross wird, weil das leist die Datei komplett ein. Besser ist meistens

while(<DAT>){  
...  
}  

my $datei;
for $datei (@dat)
{
print $datei;
if ($datei % 5 > 0)

$datei enthält die aktuelle Zeile, du willst aber die Zeilennummer, diese kannst du hier nur mit einem Zähler ermitteln. Wenn du die while Variante nimmst, kannst du auf $. zugreifen.

Das sähe z.b. so aus:

#!/usr/bin/perl -w  
use strict;  
my $datei = 'test.txt';  
open (DAT, '<', $datei) || die "Kann *$datei* nicht öffnen, weil: $!";  
while(<DAT>){  
 print $_;  
 unless($. % 5){  
  print "Hallo!\n";  
 }  
}  

Struppi.