Hallo David, Am Donnerstag, 27. Mai 2004 23:08 schrieb David Haller:
Ok. Achtung: UNGETESTET!
<stammel> Der Fehler lag da wohl bei mir </stammel> Ich habe &wanted() in einem anderen Kontext aufgerufen und dabei hat sich $dirtoget in $newdir verwandelt ;-) <schulligung> Dein nachträglicher Hack hat geholfen, vielen Dank, dennoch ... my @dont_touch_files = (".*config\.*",".*module\.*"); in Verbindung mit sub wanted { if(-d $_ && $File::Find::name =~ /^$newdir\/(?:$skipdirs)/ ) { print "skipping dir '$File::Find::name'\n"; } elsif( -f $_ && /^(?:$skipfiles)$/ || -f $_ && $File::Find::name =~ /^$newdir\/(?:$skipdirs)\//) { print "skipping file '$File::Find::name'\n"; } elsif( -d $_) { print "deleting directory '$File::Find::name'\n"; rmdir($_); } else { print "deleting file '$File::Find::name'\n"; unlink($_); }; }; ergibt ... $ ls acl/config* (Auszug) acl/config sollte gelöscht sein acl/config-macos-1.6 sollte gelöscht sein acl/config-freebsd sollte gelöscht sein acl/config-*-linux sollte gelöscht sein acl/config-netbsd sollte gelöscht sein acl/config-macos-1.3 sollte gelöscht sein acl/config-openbsd sollte gelöscht sein acl/config-macos-1.4 sollte gelöscht sein acl/config-macos-1.5 sollte gelöscht sein my @dont_touch_files = (".*config\..*",".*module\..*"); löscht zumindest die verbliebenen "config"'s aus den Verzeichnissen. my @dont_touch_files = (".*config\.info\..*",".*module\.info\..*"); erzeugt das richtige Ergebnis :-) Danke nochmals Martin -- Debian GNU/Linux http://www.debian.org/ SuSE Linux http://www.suse.de/ RedHat Linux http://www.redhat.com/ Fedora Project http://www.fedora.us/