Perl fråga

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1

Kan jag läsa från en fil t.ex 5 rader med
while ($rad = <FILHANDLE>)
spara rad 5 och sedan börja läsa från början igen utan att
"close FILHANDLE"
"open FILHANDLE"
--
Olof Svensson

----------------
A: Where would we be without the Internet?
B: Probably reading.
A: Yeah, right, we'd be watching TV.
B: So is this better or worse?

  • Medlem
  • Stockholm
  • 2004-10-09 00:05

Testa att köra en "seek FILEHANDLE, 0, 0;" för att gå till början av filen.

Nu vet jag inte exakt varför du vill göra så, men fler tips angående liknande saker kan du läsa om på: http://www.oreilly.com/catalog/cookbook/chapter/ch08.html#22659

  • Medlem
  • Sollentuna
  • 2004-10-09 00:22
Ursprungligen av Olof Svensson:

Kan jag läsa från en fil t.ex 5 rader med
while ($rad = <FILHANDLE>)
spara rad 5 och sedan börja läsa från början igen utan att
"close FILHANDLE"
"open FILHANDLE"

Ett alternativ (om filerna inte är alltför stora) kan vara att slurpa in alltihop i
en lista:

#!/usr/bin/perl -w
open(F, "minfil") or die "urk: $!";
my @file=<F>;
close F;
print $file[4]; # rad 5
# printa varje rad:
foreach my $row (@file) {
  print $row;
}

Tack

Ska gensat prova, båda förslagen.
Länken till Cookbook ska jag läsa grundligt.
--
Olof Svensson
--
Condense soup, not books!

1
Bevaka tråden