Perl:从字符串创建目录

标签 perl

假设我有一个基本目录/home/user/test/。现在,我有两个字符串 ab ,它们将成为基本目录内的文件夹,例如 /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 时,它会创建两个单独的目录 ab 在当前工作目录中。

那么,实现这一目标的正确方法是什么?

最佳答案

更好地使用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/

相关文章:

perl - 为什么值(value)会被破坏?

perl - 如何打印每行带有分隔符的 N 个数组元素?

perl - 在 Perl 中进行 base36 算术的最佳方法是什么?

Perl Net::LDAP - 无需搜索即可获取 DN?

regex - 在某些情况下,为什么在Perl模式中将 `\Q` `\E`解释为文字 `Q` `E`?

arrays - 哈希数组元素复制

perl - 使用 Mojo::DOM 处理 HTML 文档时,如何最可靠地保留 HTML 实体?

regex - 在Windows中用perl替换所有文件中的字符串

regex - 我必须如何声明 Perl 拆分的正则表达式?

perl - 如何捕获还需要用户从终端输入的命令的所有输出?