试图创建一个目录树,其中一个目录的名称中具有正斜杠(/)。查看$艺术家变量为艺术家的名字和我尝试创建目录。在目录名称中使用正斜杠创建目录树
#!/usr/bin/perl
use warnings;
use strict;
use File::Path qw(make_path);
my $srcpath = '/home/<username>;/music';
my $artist = "";
my $album = 'somealbum';
# Using single quotes
#t1
$artist = 'AC/DC';
make_path("${srcpath}/t1/${artist}/${album}/");
#t2
$artist = 'AC//DC';
make_path("${srcpath}/t2/${artist}/${album}/");
#t3
$artist = 'AC\/DC';
make_path("${srcpath}/t3/${artist}/${album}/");
# Using double quotes
#t4
$artist = "AC/DC";
make_path("${srcpath}/t4/${artist}/${album}/");
#t5
$artist = "AC//DC";
make_path("${srcpath}/t5/${artist}/${album}/");
#t6
$artist = "AC\/DC";
make_path("${srcpath}/t6/${artist}/${album}/");
#t7
$artist = "AC\\/DC";
make_path("${srcpath}/t7/${artist}/${album}/");
目录树我想要(5个文件夹):
/- >首页 - > <用户名> - >音乐 - > AC/DC - > somealbum
目录树,我得到(6文件夹):
/- >首页 - > <用户名> - >音乐 - > AC - > DC - > somealbum
有没有想过为什么你会看到带连字符的文件名代表实际上使用斜杠的实体? AC-DC是合法的文件或路径名称。 12-23-2009是一个合法的文件或路径名,而2009年12月23日不是(除非你真的指的是目录'23'中的目录'12'中的2009文件)。 – DavidO