|
|||||||||||||||||||||||||||
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
|
||||||||||||||
|
||||||||||||||