7.11 一時ファイルを作成する

プログラムが終了した時点でファイルが自動的に削除されるようにしたい。

  • File::Tempモジュールのtempfile関数を使用する
use FIle::Temp qw(tempfile);
$fh = tempfile();    # $fhに対する処理を書く
  • tempfile関数と一時ディレクトリを使用する
use FIle::Temp qw(tempdir);
$dir = tempdir( CLEANUP => 1 );
# またはディレクトリを指定する
use File::Temp qw(tempfile);
($fh, $filename) = tempfile( DIR => $dir );

$template = "myprogtempXXXXX";
($fh, $filename) = tempfile( $template, DIR => $dir );
($fh, $filename) = tempfile( $template, SUFFIX => ".data" );