私は非常に一般的な状況を持っています。ファイルがあり、そのファイルを新しい内容で完全に上書きする必要があります。ただし、元のファイルはページが読み込まれるたびにアクセスされるため (これは Web アプリです)、長い間失われることはありません。数ミリ秒は問題ありませんが (理想的ではありません)、1 秒も問題ありません。
現在、一時ファイルを同じディレクトリに書き込み、その一時ファイルの名前を新しいファイルの名前に変更することでこれを行っています。Perl では、通常の File::Temp と "rename" を使用してこれを行っています。私は疑問に思っていました-これを行うための他の推奨/より良い方法はありますか? できれば CPAN モジュールを必要としないモジュールが望ましいです。私のシステムでこれを行う必要があるのはここだけであり、このためだけにまったく新しい依存関係を作りたくないからです。
ああ、これらはすべて、Windows、Linux、BSD、OS X、Solaris、およびその他の一般的なプラットフォームで動作する必要があります。
興味のある方のために、問題のコードを次に示します。