使用new_tmpfile方法创建临时文件名

ZDNet软件频道 时间:2003-08-04 作者:ZDNet China |  我要评论()
本文关键词:
如果需要利用你脚本将数据写到一个临时文件里,你就要给予文件一个唯一的名称,这样对同一个脚本的多次调用就不会覆盖其他文件的数据。实现这一目的有多种方法。
本文译自Builder.com,未经许可请勿转载如果需要利用你脚本将数据写到一个临时文件里,你就要给予文件一个唯一的名称,这样对同一个脚本的多次调用就不会覆盖其他文件的数据。实现这一目的有多种方法。

一个常见的方法是在文件名里使用进程IP或者当前时间。但是,如果你需要多个临时文件,这种命名方式可能并不能真正保证文件名的唯一性。你可能需要检测该文件是否存在,如果存在的话,就在其名称上加入一个计数器。这并不困难,但是你所付出的努力可能要比扩展这个工作所需要的努力更多。

另一种简单得多的方式是使用IO::File模块的new_tmpfile方法为你的临时文件创建唯一的文件名。这个类方法会创建一个临时文件,读和写的时候需要打开这个临时文件,然后将文件句柄返回给它。它的一个很有用的特性是:如果操作系统支持它,那么文件就会在创建之后取消链接,但是仍保持打开。结果就是,文件在使用的时候是隐藏的。在下面的例子里,这个方法的使用是极其简单的:

useIO::File;

$fh = IO::File->new_tmpfile()
    or die "Temporary file creation failed: $!";



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134