use 5.010.000; ... if( $key eq $name ) { say "Treffer\n\nErsetze Werte ..."; my $datei = "test.txt"; my $quellwort = "$key = \Q$value\E"; my $zielwort = "$name = $Speicherung_Hashes{ $name }"; say "Vorhandene Variable : $value"; say "Ersetzende Variable : $Speicherung_Hashes{ $name }"; my @Zeilen; open( my $handle, '<', $datei ) or die "open($datei,r): $!"; while ( my $line = <$handle> ) { $line =~ s/$quellwort/$zielwort/; push @Zeilen, $line; } close($handle); open( $handle, '>', $datei ) or die "open($datei,w): $!"; # oder "alles auf einmal schreiben": # print $datei @zeilen; foreach ( @Zeilen ) { print $datei $_; } close($handle) or die "close($datei): $!"; }