Perl 为什么是我造成了;还是死;当试图打开文件句柄时?
有人看到这个问题了吗Perl 为什么是我造成了;还是死;当试图打开文件句柄时?,perl,stdout,stdin,filepath,Perl,Stdout,Stdin,Filepath,有人看到这个问题了吗 use FindBin '$Bin'; $scriptdir = $Bin; $folder= "64521459"; $file = "201608291350_60002015_1_Log-Minim.csv"; print "$scriptdir\\OK\\$folder\\$file"; open (OKBLABLA, ">", "$scriptdir\\OK\\$folder\\$file") or die "Can't create OK folder
use FindBin '$Bin';
$scriptdir = $Bin;
$folder= "64521459";
$file = "201608291350_60002015_1_Log-Minim.csv";
print "$scriptdir\\OK\\$folder\\$file";
open (OKBLABLA, ">", "$scriptdir\\OK\\$folder\\$file") or die "Can't create OK folder";
print OKBLABLA "success";
close OKBLABLA;
似乎是
$文件夹
部分导致了问题;当我移除它时,它会工作-知道为什么吗?脚本不会自己创建一个新目录吗?否,open
无法在任何平台上以我所知的任何语言创建一个不存在的目录。否,open
无法在任何平台上以我所知的任何语言创建一个不存在的目录。print语句引用了$folder
变量
但是open语句引用了一个不存在的$ordner
变量
使用
严格使用;使用警告
在脚本的开头,可以轻松找到此类问题。print语句引用了$folder
变量
但是open语句引用了一个不存在的$ordner
变量
使用
严格使用;使用警告代码>在脚本的开头,可以轻松找到此类问题。open
不会创建目录。。。请改为尝试mkdir
,或者如果要创建的目录的父目录不存在,则使用make_path
函数。@Dada谢谢,使用了“use File::path qw/make_path/”,为什么不让Perl在错误消息中包含open
失败的原因<代码>模具“无法创建OK文件夹:$!\n”代码>open
不创建目录。。。请改为尝试mkdir
,或者如果要创建的目录的父目录不存在,则使用make_path
函数。@Dada谢谢,使用了“use File::path qw/make_path/”,为什么不让Perl在错误消息中包含open
失败的原因<代码>模具“无法创建OK文件夹:$!\n”对不起,这只是一个翻译,因为“ordner”在德国的意思是“文件夹”。所以这不是问题所在problem@ZesaRex请复制并粘贴您正在使用的确切代码。否则,人们会浪费时间寻找实际代码中不存在的bug,而您必须浪费时间编辑问题并回答这样的答案。不需要将变量名翻译成英语;我们都可以读Perl.fine,下次会读:)对不起,这只是一个翻译,因为“ordner”在德国的意思是“文件夹”。所以这不是问题所在problem@ZesaRex请复制并粘贴您正在使用的确切代码。否则,人们会浪费时间寻找实际代码中不存在的bug,而您必须浪费时间编辑问题并回答这样的答案。不需要将变量名翻译成英语;我们都可以阅读Perl.fine,下次会这样做:)但它确实创建了文件,很容易认为它也会创建文件夹。嗯,也谢谢你纠正我的帖子,但它确实创建了文件,很容易想到它也会创建文件夹。嗯,也谢谢你修改我的帖子