我正在观察的一个奇怪的行为 - 在perl脚本中,我检查了目录是否存在,如果它存在 - 它将文件复制到该目录,如果它没有 - 然后创建目录后跟文件复制
当我手动检查文件时,文件存在。但是当我再次运行相同的脚本以使用与上面相同的过程复制另一个文件时,我看到以前的文件不存在。为了确认,我在脚本中执行了一个目录读取,它说dir是空的。
任何人都可以帮助我理解
请在下面找到代码:
if (-d "/home/foo") {
print "the directory is already created \n";
$i=0;
opendir(DIR, "/home/foo") or die "Cant open /home/foo: $!\n";
@list = readdir(DIR);
foreach $line(@list) {
unless ($line =~ /^[.][.]?\z/) {
$i++;
}
}
if ($i != 0) { print "There is Stuff in here!"; }
else { print "This Dir is Empty!"; }
closedir(DIR);
}
else {
&runcond("mkdir /home/foo");
}
`cp $file /home/foo`; #Copying a file $file in the directory
答案 0 :(得分:0)
`cp $file /home/foo`;
您尚未定义$file