Pau*_* IT 0 directory perl glob chdir
我正在尝试在我的 perl 脚本中执行 cd。我正在使用以下命令:
chdir "/home/test/test1/test2/perl*";
Run Code Online (Sandbox Code Playgroud)
perl*值实际上是perl_0122_2044,但这个值可能会有所不同。
上面的chdir命令cd对路径没有作用。难道我做错了什么?
chdir不接受*和 参数中的其他扩展字符。使用glob或类似的东西来提取单个目录,然后chdir到那个目录。例如,这会将目录更改为/home/test/test1/test2/perl*它找到的第一个:
$dir = (glob "/home/test/test1/test2/perl*")[0];
# only change dir if any dir was found:
if (-d $dir) {
# fail if cannot change dir (or, even better, use autodie):
chdir $dir or die "Could not change to $dir: $!";
}
Run Code Online (Sandbox Code Playgroud)