Avatar billede sb Nybegynder
04. november 1999 - 19:20 Der er 4 kommentarer og
1 løsning

Array fra fil

Jeg har en fil, som er generert av en html-form, et variabelpar : $var1, $var2 og $var3.

Disse vil jeg så hente igen i et andet script. Jeg åbner filen, og legger innholdet i en array :

open (FIL, "/mydomain/mappe/fil.txt");
@variabler = <FIL>;
close (FIL);

Nu ønsker jeg så at få skrevet hvert variabelpar (var1-3), ud på skermen sådan :

print "$var1 og $var2 og $var3<br>";

Da jeg ikke ved hvor mange der er av hvert variabelpar, bruger jeg :

foreach (@innhold) {
print "$var1 - $var2 - $var3<br>";
}

Men dette virker ikke. Hvad skal jeg gøre?

Avatar billede mukke Nybegynder
04. november 1999 - 19:58 #1
Hvordan ser filen ud? Altså hvad adskiller de tre variable fra hinanden på hver linie?
Avatar billede sb Nybegynder
04. november 1999 - 20:08 #2
De tre variabler er adskilt av linjeskift. Men dette kan jo uden problemer ændres til + eller noget andet.
Avatar billede mukke Nybegynder
04. november 1999 - 21:27 #3
Ok.. hvis du gør så alle "par" er på en linie på formen:

værdi1;vaerdi2;vaerdi3


kan du efter din egen indlæsningsmetode (de tre første linier) bruge:

for $Linie (@Variabler)
{
  @Temp = split/;/,$Linie;  ## tegnet mellem // er det tegn du bruger til at adskille med.
  push @VarList, [@Temp];
}

hvis du herefter vil vise variablepar 5:

print "$VarList[4][0] - $VarList[4][1] - $VarList[4][2]<br>";

bemærk at der startes fra 0 og ikke 1. Derfor svarer 4 til linie 5.
Avatar billede mick Nybegynder
05. november 1999 - 18:12 #4
Ja det virker. Men jeg mangler en ting : jeg ved ikke på forhånd hvor mange variabelpar ($varlist[x][0-2]) der er i filen. Så hvordan får jeg skrevet alle variabelpar ud på skærmen?
Avatar billede sb Nybegynder
05. november 1999 - 18:22 #5
Til mick : Ja men det er da ikke noget problem. Det er vel bare at bruge en "foreach" løkke. Tak for hjelpen mukke - du får dine points.
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