- 论坛徽章:
- 0
|
但是如果你虽然需要临时文件名做一些后续处理,但是希望在程序退出的时候,为了节省硬盘空间,该文件又能被删除,那怎么办呢?
这时候,你可以在调用tempfile的时候指定其参数UNLINK为1。- # Create temp file with more details
- $sFileTemplate = "3333333FileXXXX";
- # Specify extension and delete it always when program exits
- ( $fhTmpFile, $sTmpFileName ) = tempfile( $sFileTemplate, DIR => $sTmpDir,
- SUFFIX => ".tmp", UNLINK => 1 ); # Not cleanup
复制代码 注意是UNLINK而不是CLEANUP。删除目录用CLEANUP,删除文件用UNLINK. 在指定UNLINK为1后,程序退出,临时文件就会被删除掉。
这里另一个参数SUFFIX也很有用,你可以指定临时文件名的后缀。这里我们把它当作后缀名来使用。在加了后缀之后,可以避免临时文件,被另一些进程当作正常的输入文件来处理。
所以创建临时文件主要问自己3个问题:
1. 需不需要用Template
2. 需不需要文件名
3. 需不需要被删除 |
|