use strict; use warnings; my $Dir='C:/1'; opdir($Dir); sub opdir{ my ($Dir) = shift; opendir (my $DirHandle,$Dir) or die "dir nicht gefunden\n"; while(my $Filename = readdir($DirHandle)) { print "Filename='$Filename'\n"; next if($Filename eq '.' or $Filename eq '..'); if(-d $Dir.'/'.$Filename) { my $SubDir = $Dir.'/'.$Filename; opdir($SubDir); } elsif(-f $Dir.'/'.$Filename) { my $File = $Dir.'/'.$Filename; opfile($File); } } } sub opfile{ my ($File) = shift; print "File: $File\n"; #return; open (my $FileHandle,$File) or die "file '$File' nicht gefunden: $!\n"; open (my $Schreiben,'>',"C:/geaendert/mytext.txt") or die "kann nicht schreiben $!\n"; while(my $zeile = <$FileHandle>) { #chomp; #print "$zeile\n"; $zeile=~ s/l/*/g; print "$zeile\n"; print $Schreiben "$zeile\n"; } }