假设我有一个基本目录/home/user/test/
。现在,我有两个字符串 a
、 b
,它们将成为基本目录内的文件夹,例如 /home/user/test/a/b
.
目前我正在做的是:
use File::Path qw(make_path);
my $path = "$basedir"."/"."a"."/"."b"
make_path("$path");
现在,我正在寻找的是:
my $dir = "/home/user/test";
my $x = "a";
my $y = "b";
make_path($dir, $x, $y);
但是当我运行上面的代码而不是创建 /home/user/test/a/b
时,它会创建两个单独的目录 a
和 b
在当前工作目录中。
那么,实现这一目标的正确方法是什么?
最佳答案
更好地使用Path::Class::Dir
use Path::Class qw(dir); # Export a short constructor
my $dir = dir('foo', 'bar'); # Path::Class::Dir object
my $dir = Path::Class::Dir->new('foo', 'bar'); # Same thing
# Stringifies to 'foo/bar' on Unix, 'foo\bar' on Windows, etc.
print "dir: $dir\n";
另请参阅 perldoc 路径::类::目录 或者 https://metacpan.org/module/Path::Class::Dir
关于Perl:从字符串创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13009744/