User since
2005-12-02
28
Artikel
BenutzerIn
Hallo zusammen,
ich habe ein Problem mit dem Modul File::Find::Rule. Ich möchte hier in einem Verzeichnis alle einen Level darunter liegenden Verzeichnisse anlisten lassen.
Wenn ich die Doku hierzu lese würde ich das Script wie folgt aufbauen (sieht aber schlecht aus):
use File::Find::Rule;
# find all the subdirectories of a given directory
$directory = "/home";
my @subdirs = File::Find::Rule->directory->in( $directory )
->maxdepth( 1 );
foreach $dir (@subdirs) {
print "$dir \n";
}
Leider fuktioniert dieses nicht. Lasse ich die maxdepth Zeile weg, läuft das Script, listet aber alle Unterverzeichnisse an.
Wer kann hier helfen?
Besten Dank im Voraus
Gruß
Franz-Josef
User since
2003-08-04
14371
Artikel
ModeratorIn
Du hast das maxdepth an der falschen Stelle...
1
2
3
4
5
6
7
8
9
10
11
12
13
use strict;
use warnings;
use File::Find::Rule;
my $directory = "..";
my @subdirs = File::Find::Rule->maxdepth( 1 )->directory->in( $directory );
foreach my $dir (@subdirs) {
print "$dir \n";
}