【发布时间】:2013-08-23 20:41:09
【问题描述】:
我的模块中有一行代码如下所示:
make_path($root_dir);
不幸的是,它没有创建所需的目录(我已经检查过,并且在那里确实有权限)。
但是,如果我将其更改为以下内容:
make_path($root_dir, {});
它工作正常。前面几行,我对make_path($root_dir); 和make_path($root_dir, {}); 有同样的奇怪行为。任何想法为什么会这样?
我正在使用 perl 5 版本 16 和 File:Path 版本 2.09。
【问题讨论】:
-
看起来很奇怪。你能提供一个reproducible example吗?
$root_dir到底是什么?是否有任何东西被打印到标准错误? -
好计划@rutter。我实际上刚刚解决了它。
$root_dir是一个Path::Class::Dir,所以make_path必须在有配置哈希或其他东西的不同时间将其转换为标量。传入"$root_dir"有效。我回家后会发布正确的答案。