我的模块中有一行代码看起来完全像这样:
make_path($root_dir);
不幸的是,它没有创建所需的目录(我已经检查过,并且确实有权限)。
但是,如果我将其更改为以下内容:
make_path($root_dir, {});
工作正常。前几行,我与make_path($root_dir);
vs make_path($root_dir, {});
的行为相同。任何想法为什么会这样?
我正在使用perl 5,版本16和文件:路径版本2.09。
答案 0 :(得分:3)
Path :: Class :: Dir类创建基于哈希的对象。
make_path
的用法为make_path(PATHS, OPTIONS_HASH)
。
当你将Path :: Class :: Dir对象作为make_path
的最后一个参数传递时,它被视为选项哈希。
您可以通过显式提供选项哈希来解决此问题
make_path($path, {})
或通过显式字符串化路径
make_path("$path")