0

在一个函数中,我得到一个文件的引用。那可能是一种格式dir1/subdir/filename.txt
perl 中有没有办法:

  1. 如果文件不存在,则创建它如果不存在则创建目录结构
  2. 这种方式可以保证如果 2 个脚本尝试同时执行相同的操作,那么不会出错(例如,最终会出现损坏/锁定的文件等)?
4

1 回答 1

0
  1. 要检查文件是否存在,您可以执行

my $filename="dir1/subdir/filename.txt";

if (-e $filename)
{
  print "file exists";
  open( FILE, '<', $filename ) or die 'Could not open file:  ' . $!;

}

elsif (!-e $filename)
{
print "file does not exist";

}

-e 和 -f 都可以用来检查文件是否存在
2.为了避免冲突,我认为你可以在文件名中创建带有创建时间的文件。但是,我不确定您是否可以使用相同的内容进行创建。

于 2013-10-20T13:00:31.030 回答