Hallo!
Ich habe folgenden Code:
sub getDirContent
{
my ($dir,$func,$depth,$printed) = splice(@_,0,4);
opendir( dirHandle, $dir ) or return 0;
my @dirContent = grep { !/^\.+$/ } readdir( dirHandle );
close( dirHandle );
foreach ( @dirContent )
{
&getDirContent( "$dir\/$_" ) if ( -d "$dir\/$_" );
&$func( $_ );
}
return 1;
}
sub Function()
{
print "$_[0]<br>";
}
So, jedoch bleibt die Funktion stehen, falls man zum ersten Aufruf von func kommt. Wieso??? Kann man in Perl aus einer rekursiven Funktion heraus keine weiteren Funktionen aufrufen?
cu
Ich habe folgenden Code:
sub getDirContent
{
my ($dir,$func,$depth,$printed) = splice(@_,0,4);
opendir( dirHandle, $dir ) or return 0;
my @dirContent = grep { !/^\.+$/ } readdir( dirHandle );
close( dirHandle );
foreach ( @dirContent )
{
&getDirContent( "$dir\/$_" ) if ( -d "$dir\/$_" );
&$func( $_ );
}
return 1;
}
sub Function()
{
print "$_[0]<br>";
}
So, jedoch bleibt die Funktion stehen, falls man zum ersten Aufruf von func kommt. Wieso??? Kann man in Perl aus einer rekursiven Funktion heraus keine weiteren Funktionen aufrufen?
cu