Schrift
[thread]6216[/thread]

Verzeichnisse auflisten

Leser: 4


<< >> 6 Einträge, 1 Seite
alexus-777
 2004-04-26 23:19
#81862 #81862
User since
2004-04-13
121 Artikel
BenutzerIn
[default_avatar]
Hallo Community,

wie lese ich mit "readdir" Verzeichnisinhalt so aus, dass nur Verzeichnisse angezeigt/ausgegeben werden?

Gruß Alexander
esskar
 2004-04-26 23:23
#81863 #81863
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
my $dir = undef;
if(opendir($dir, $folder))
{
while(defined(my $file = readdir($dir)))
{
next if $file =~ /^\.\.?$/;
next if -f "$folder/$file";

print "$folder/$file";
}
closedir($dir);
}
alexus-777
 2004-04-26 23:24
#81864 #81864
User since
2004-04-13
121 Artikel
BenutzerIn
[default_avatar]
Danke für superschnellen Antwort!
Crian
 2004-04-27 03:19
#81865 #81865
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Oder mit -d auf Verzeichnis testen.
Außerdem sind . und .. auch Verzeichnisse ;-)

edit siehe perldoc -f -f\n\n

<!--EDIT|Crian|1083021704-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Dubu
 2004-04-27 12:16
#81866 #81866
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Nicht alles, was keine Datei ist, ist ein Verzeichnis. Unter Unix/Linux gibt's da zumindest noch Symlinks, Sockets, Pipes sowie Char- und Block-Special-Files (die unter /dev). Wenn man nur Verzeichnisse will, muss man also auf -d testen.
Gast Gast
 2004-04-27 12:28
#81867 #81867
oder so ...
Code: (dl )
1
2
3
4
5
6
7
8
9
my $root_path = 'absoluter Pfad zum Startverzeichnis';
my $start_dir = 'Startverzeichnis';

opendir THEDIR, "$root_path/$start_dir" or die $!;
readdir THEDIR for 0 .. 1;
@dirs = grep -d "$root_path/$start_dir/$_", readdir THEDIR;
closedir THEDIR;

print($_, "\n") foreach @dirs;
<< >> 6 Einträge, 1 Seite



View all threads created 2004-04-26 23:19.