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”