Heyho zusammen,
nun reicht es wohl nicht mehr stiller Mitleser zu sein, da mir folgendes Problem nur noch Kopfzerbrechen bereitet.. Wahrscheinlich ohnehin nur ne Kleinigkeit
Zu meinem Problem:
Ich will mit Hilfe von File::Find sämtliche Unterverzeichnisse eines ordners nach "ccdb_config.pl" auslesen. Ein Unterverzeichnis heißt immer "_default" und die restlichen sind durchnummeriert. In jedem Ordner befindet sich ein config file, wobei das im "_default" Ordner keine Rolle spielt.
Das war mein Ansatz:
#!usr/bin/perl
use strict;
use File::Find;
require "xxxxxx.pl";
require "xx.pl";
my $path = "/../../../../../";
my $file = "ccdb_config.pl";
sub match {print $File::Find::name."\n" if /$file/gi}
find {wanted => \&match, no_chdir => 0}, $path;[/PHP]
Das Problem ist folgendes Ergebnis:
/../../../../../_default/ccdb_config.pl
/../../../../../2/ccdb_config.pl
/../../../../../2/ccdb_config.pl.tmpl
/../../../../../2/ccdb_config.pl.new
/../../../../../2/ccdb_config.pl.bak20090209
/../../../../../2/ccdb_config.pl.new~
/../../../../../3/ccdb_config.pl
Also habe ich my $file = "ccdb_config.pl"; verändert zu $file = "ccdb_config\.pl[^.*]", um nur noch
/../../../../../_default/ccdb_config.pl
/../../../../../2/ccdb_config.pl
/../../../../../3/ccdb_config.pl
ausgegeben zu bekommen..
Danach erfolgt allerdings keine Ausgabe mehr.. Überprüft habe ich den RegEx mit RegExr
Sofern ich mich denn verstädnlich ausgedrückt habe, wäre es nett, wenn ihr mich an euren Ideen teilhaben lassen könntet
LG
Chrisok