例えば、
#!/usr/bin/perl
open FILE1, '>out/existing_file1.txt';
open FILE2, '>out/existing_file2.txt';
open FILE3, '>out/existing_file3.txt';
対
#!/usr/bin/perl
if (-d out) {
system('rm -f out/*');
}
open FILE1, '>out/new_file1.txt';
open FILE2, '>out/new_file2.txt';
open FILE3, '>out/new_file3.txt';
最初の例では、ファイルをクローバーします(長さをゼロに切り捨てます)。2番目では、ディレクトリをクリーンアップしてから、新しいファイルを作成します。
2番目の方法(ディレクトリをクリーンアップする方法)は冗長で不要のようです。これを行うことの唯一の利点は(私の考えでは)、アクセス許可と変更日をリセットすることです。
どちらがベストプラクティスと見なされますか?(質問は衒学的であり、最初の例がより一般的であると思います。)
編集:私が尋ねる理由は、データを解析し、出力ファイルをディレクトリに書き込むスクリプトがあるためです-毎回同じファイル名/パスで。このスクリプトは何度も実行されます。スクリプトの開始時に(書き込み先のファイルの)ディレクトリを部分的にクリーンアップする必要があるのか、ファイルハンドル'>'でファイルを壊してしまうのか、興味があります。自分で特別な対策を講じることはありません。