Avatar billede svanhovd Nybegynder
15. oktober 2002 - 09:58 Der er 6 kommentarer og
1 løsning

Læse fra tekstfil

Jeg forsøger at læse fra en tekstfil med :

open(FIL, "<1.txt");
while (defined($line=<FIL>)) {
    print "Line: $line\n";
}
close(FIL);

Men jeg får ikke skrevet indholdet af filen ud på skærmen, og jeg får heller ingen fejlmelding.
Avatar billede thomasledet Nybegynder
15. oktober 2002 - 12:22 #1
jeg har testet ovenstående kode og der er ingen fejl... koden fungerer som ønsket.

det er testet både på en maskine med debian linux og på en solaris-maskine

her er, hvad jeg testede

#!/usr/bin/perl

open(FIL, "<1.txt");
while (defined($line=<FIL>)) {
    print "Line: $line\n";
}
close(FIL);
Avatar billede thomasledet Nybegynder
15. oktober 2002 - 12:23 #2
har du husket at give din fil de rigtige rettigheder (hvis du arbejder på et unix-sytem)... er perl rigtigt installeret?
Avatar billede jespernaur Nybegynder
15. oktober 2002 - 17:26 #3
prøv at skrive

open(FIL, "<1.txt") or die "open error $!";

og se om det ikke giver en fejludskrift
Avatar billede madsbirk Nybegynder
16. oktober 2002 - 11:14 #4
Hej

Du kan også gøre det sådan:
open(IN,"<file");
  @infile=<IN>;
  close (IN);
prine "@infile";
Avatar billede madsbirk Nybegynder
16. oktober 2002 - 11:17 #5
UPS Sæt lige print "@infile"; istedet for prine "@infile";  :-)
Avatar billede svanhovd Nybegynder
16. oktober 2002 - 13:39 #6
Tak for hjælpen.
Avatar billede thomasledet Nybegynder
16. oktober 2002 - 18:56 #7
madsbirk> din metode kan lade sig gøre og kan være ønskværdig, hvis man efterfølgende ønsker at sortere i det data, man har fået fra tekstfilen eller lignende. til gengæld er den ekstremt dyr i hukommelse - især hvis de filer, man skal læse er af betragtelig størrelse. hele filen skal nemlig læses op i ram... dette undgåes ved "while"-måden, da man her kun læser en smule af filen op i hukommelsen ad gangen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester