SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: Sv: [PERL] Indlæsning af linier fra en tekstfil



Jesper Lund wrote:

> > Så må du komme med et program eksempel.
> >
> >   @data = <INPUT>
> >
> > bør give @data med een INPUT på hver linje.
>
> open(IN, "liste");
> @data = <IN>;
> foreach $i (@data) {
>    $size = -s $i;
>    print "$i: $size\n";
> }
>
> Dette virker ikke, hvis filen "liste" indeholder en liste med filer, hvor filnavnene indeholder mellemrum.....Okay, det var vist mig der formulerede spørgsmålet forket.... :o/

Det ville undre mig meget hvis det virkede med nogen filer, du får nemlig en newline med i slutningen af hver linie. Heldigvis har perl en fin lille funktion chomp, som netop
fjerner newlines fra slutningen af linier. Følgede virker:

     open(IN, "list") or die "whatever";
     while(<IN>) {
         chomp;
         my $size= -s;
         print "$_: $size\n";
     }

Jeg har erstattet din foreach med en while, idet der ikke er nogen grund til at spilde tid med at læse hele filen i hukommelsen før man bruger den. Men det har ikke noget med dit
konkrete problem at gøre.

Det har med andre ord ikke det fjerneste at gøre med mellemrum, selv om der tilsyneldende er flere på denne newsgroup/liste der i modsætning til perl har problemer med netop
mellemrum.

./borup



 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:53
Denne side vedligeholdes af MHonArc .