|
|||||||||||||||||||||||||||
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?
Jeg er ingen perlhaj, først lige begyndt, så bær over med underlige spørgsmål:-)
MVH Christian
|
||||||||||||||
|
||||||||||||||