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



 
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 .