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: [PERL] problem ved indlæsning af filnavne fra dir med readdir



Christian Hansen wrote:

> Christian Borup wrote:
>
> > Christian Hansen wrote:
> >
> >
> >> Jeg har brug for at indlæse samtlige filnavne fra et dir, helt bestemt
> >> /etc/skel
> >>
> >> På en RedHat 7 har man bare være så usmart at lave filnavne med
> >> mellemrum i, altså "et filnavn.ext".
> >>
> >> Hvis vi nu siger, at jeg har tre filnavne i mit dir, nemlig
> >> "filnavn1.ext", "filnavn2.ext" og "fil navn3.ext"
> >>
> >> Jeg læser ind i et array med
> >>
> >> opendir(SKEL, "/etc/skel");
> >> @entries = readdir(SKEL);
> >> closedir(SKEL);
> >>
> >> nu skulle arrayet @entries gerne have 3 indgange, nemlig ovenstående
> >> filnavne, men i stedet har det 4, nemlig "filnavn1.ext", "filnavn2.ext",
> >> "fil" og "navn3.ext".
> >
> >
> > Jeg ville faktisk forvente 5 indgange: ".", "..", "filnavn1.ext",
> > "filnavn2.ext" og "fil navn3.ext".
>
> :-) "." og ".." er selvfølgelig med.
>
> > Hvilket ville resultere i $#entries == 4, du har vel ikke bare skrevet
> > $#entries ud i stedet for at dumpe array'et selv?
>
> jeg har gjort som følger:
>
> opendir(SKEL, "/etc/skel");
> @entries = readdir(SKEL);
> closedir(SKEL);
>
> foreach $entry (@entries) {
>         if ($entry ne "." && $entry ne "..") {
>                 print "$entry\n";
>
>         }#end if
> }#end foreach
>
> Men det virker altså ikke på filnavne med mellemrum. Er det af samme
> grund som Jesper Lunds problem?

Hmmm det kunne man vel godt sige, det  havde heller ikke noget med mellemrum at
gøre :-)

> Jeg er ingen perlhaj, først lige begyndt, så bær over med underlige
> spørgsmål:-)

Perl har en del finurlighedder, så det er bare i orden.
Du og alle andre burde i øvrigt gøre "use strict" til en vane.
Den type "mystiske" fejl skyldes alt for ofte tastefejl i variabelnavne, og
strict brokker sig hvis du ikke har styr på dine variable.

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