sub process_files { my @stack=@_; my ($p,$dh,$path); while(@stack) { path = pop(@stack); opendir ($dh, $path) or die "Unable to open $path: $!\n"; for( readdir($dh) ) { next if( $_ eq '.' or $_ eq '..' ); $p=$path.'/'.$_; if( -d $p ) { push(@stack, $p); } elsif( substr($_,-4,4) eq '.pdw' ) { push(@files_erg, $_); } } closedir ($dh); } }