Avatar billede sb Nybegynder
12. november 2002 - 11:19 Der er 3 kommentarer og
2 løsninger

Problemer med split af streng

Jeg har følgende kode som henter indholdet af en tekstfil fra en givet URL:

use LWP::Simple;
$URL = "http://localhost/test.txt";
$line = get($URL);
@lines = split(/ /, $line);

foreach $linje (@lines) {
    print "$linje<br>";
}

Jeg ønsker at få skrevet hver enkel linje i filen ud som en egen linje. Nu skrives alt ud på samme linje.
Avatar billede crax Nybegynder
12. november 2002 - 14:49 #1
Simpelt... indsæt et "\n" i stedet for <br>... (med mindre der også skal stå <br> i det udskrevne!) :

foreach $linje (@lines) {
    print $linje."\n";
}
Avatar billede sb Nybegynder
12. november 2002 - 17:14 #2
OK jeg forklaret mig nok lidt dårligt.

Problemet er at @lines stadigvæk kun indeholder et element - tekstfilen som en lang streng - efter at linien @lines = split(/ /, $line); er eksekvert.
Avatar billede crax Nybegynder
13. november 2002 - 00:41 #3
Det er lidt svært at sige hvad du skal gøre, uden at kende tekstens indhold. Er det ren rå tekst, er der linjeskift og alt sådan noget... Giv evt. et tekst eksempel.

Din split(...) splitter tilsyneladende op hvor den støder på et mellemrum. Det er vel ikke det du vil have?

Prøv at splitte ved \n eller ved en kombination af \13 og \10, afhængigt at hvad filsystem tekstfilen er skrevet i...
Avatar billede thomasledet Nybegynder
14. november 2002 - 15:20 #4
prøv

@lines = get($URL);
Avatar billede thomasledet Nybegynder
14. november 2002 - 15:21 #5
ellers vil

$line = get($URL);
@lines = split(/\n/, $line);

gøre tricket...
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