Wie man mehrere Werte gleichzeitig in mehreren Zeilen ersetzt

Sagen wir, ich habe ein Vielfaches davon

Meine Eingabezeilen:

"stack overflow version {5} my new version"
"stack exchnage version {10} my new version"
"perl  scripting version 5.14 my new version"
"segmentaion falult happen {5} if the memory is not freed"
" my college 30 new xxxx"

Ich möchte den Wert in Klammern in allen Zeilen gleichzeitig ersetzen.

Meine Ansätze:

use strict;
use warnings;
my $old_parameter='stack overfolw version';
my $new_parameter;
my $old_value={5};
my $new_value='20 ';
my $filename ='input.txt'

open my $fh, "<", $filename or die "Couldn't open input file: $!";

while ( <$fh> ) 
{
    if (/$old_parameter/ and /$old_value/) 
    {
        s/$old_value/$new_value/;
    }
}

Ausgabe

stack overflow version {20} my new version; #values change from 5 to 20

Nun habe ich den Wert, der 20 ist, hart codiert, aber was ich suche, werde ich den Wert (1..100) in einem Array von dort speichern. Ich werde den Wert basierend auf jeder Zeile auswählen, die ich ersetzen möchte.

Für die Übereinstimmung mit der Zeile muss ich ersetzen.

Was wäre dann der beste Ansatz?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage