my $text = do {  open (DATEI, "<", $template) or    die "Error: couldn't open '$template': $!\n";  # die folgende zeile bewirkt, dass der komplette string in eine  # zeile eingelesen wird; so sparst du dir das join  local $/ = undef;  my $temp = ; # alles in eine "zeile"  close (DATEI);  $temp; # wird aus do-Block herausgegeben => $text }; # ersetzen $text =~ s///gs; # in datei schreiben open(FILEOUT, ">", $fileout) or die "Kann '$fileout' nicht schreiben: $!\n"; print FILEOUT $text; close(FILEOUT);