実際のファイルではなく、ファイルの最後に加えたい新しい変更をスクリプトに追加することになります。
open (INCONFIG, "+<$text") or die $!;
@config = <INCONFIG>;
foreach(@config)
{
if ( $_ =~ m/$checker/ )
{
$_ = $somethingnew;
}
print INCONFIG $_;
}
close INCONFIG or die;
最終的には、テキスト全体をもう一度書き直したかったのですが、検索条件に一致する場合は特定の文字列を変更しました。ただし、これまでのところ、ファイル全体 (変更あり) の別のコピーを古いファイルの末尾に追加するだけです。
ファイルを閉じて、別の write file -handle を使用して解析できることはわかっています。