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.