Hallo,
habe folgendes Problem, es sollen Files bestimmter Extensions in nem Verzeichnis rekursiv gezählt werden, eigentlich nich soooo schwer.
Quelltext sieht in etwa so :
sub test
{
my ($curr_dir,$offset) = @_;
my $entry;
my @dir_entry;
if (!opendir(HANDLER, $curr_dir))
{
print „kann Verzeichnis nicht öffnen \n“;
return;
}
@dir_entry = readdir HANDLER;
close (HANDLER);
foreach $entry (@dir_entry)
{
if (-f „$curr_dir\$entry“)
{
@ext = split (/./,$entry);
if ( $ext[1] eq „txt“) {$count_ext++;}
}
if ((-d „$curr_dir\$entry“) and ($entry ne „.“) and ($entry ne „…“))
{
($count_ext,$count_sum) = test("$curr_dir\$entry","$offset „,“$count_ext");
}
}
return ($count_ext);
}
Dummerweise, ich habs noch nicht so richtig erfasst, werden aber viele Verzeichnisse übergangen, ziemlich wahrschleich mit zunehmender Tiefe.
Ich find einfach den Denkfehler nich…falls jemand Lust hat sich mal reinzudenken, wäre sehr dankbar.
PS: rekursive Auffrufe sind nicht mein Ding ^^ zumindest wenn mans länger nich mehr gemacht hat.