Thread File::Find Verzeichnisstiefe
(3 answers)
Opened by zipster at 2006-08-12 18:52
Das bydepth => 1 bewirkt nur, dass ein Verzeichnisname erst nach seinem Inhalt an die wanted-Funktion übergeben wird (also erst "D:\Temp\test1\test2", dann "D:\Temp\test1"). Trotzdem wird in größt möglicher Tiefe gesucht.
Das Problem lässt sich wahrscheinlich mit einer preprocess-Funktion für find() lösen, aber IMHO ist das viel zu kompliziert gedacht. Wenn du nur die Ordner in einem Verzeichnis willst, sind opendir()/readdir() oder das gute alte glob() viel effizienter: Code: (dl
)
my @subdirs = grep -d, glob "D:\Temp\*"; (Vorsicht wenn der angegebene Verzeichnispfad Leerzeichen enthält, dann muss man bsd_glob() aus File::Glob statt des Standard glob() nehmen.) |