私はラインを持っています
if (($x > 0) && ($flag == 1))
最後の ")" をコロン (:) に置き換えたい。そうなる
if (($x > 0) && ($flag == 1):
使ってみ $line =~ s/\)$/\:/;
たけどダメだった
任意の助けをいただければ幸いです
)
以下は、最後を に置き換える必要があり:
ます。
$line =~ s/\)([^)]*)$/:$1/;
あなたが探している正規表現は
$line =~ s/.*\K\)/:/;
strictとwarningsを使用している場合、変数が以前に宣言されていないと、 $line で変数を使用する際に問題が発生する可能性があります。Perl 正規表現を読んでください。
行末に空白 (改行など) がある可能性があるため (明示的に削除しない限り)、次の正規表現は (改行を保持しながら) トリックを実行する必要があります。
$line =~ s/\)(\s*)$/:$1/;