Thread Probleme bei File - Handler - Änderung einer Zeile
(13 answers)
Opened by YAPD at 2016-02-21 23:19
Prinzipiell geht der Code; aber ein paar Dinge sind noch anzumerken:
Zusammen käme das dann als Beispiel raus: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 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): $!"; } Ansonsten kann man den Code noch weiter vereinfachen, indem man das bereits empfohlene Tie::File einsetzt. edit: Modul-Link: s/mod/pod/g Last edited: 2016-03-08 22:46:01 +0100 (CET) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |