是否有一种简单的方法可以自动将$ dir反斜杠替换为正向反斜杠,因为我知道的唯一方法是手动,如果路径太长则非常烦人。 感谢。
use strict;
use warnings;
use File::Find;
my $dir = "E:\dir1\dir2\dir3\dir4\dir5";
find(\&temp, $dir);
sub temp {
.....
}
答案 0 :(得分:2)
不太确定你的目标是什么,但是一个简单的正则表达式足以用\
替换/
:
ETA:您必须将路径放在单引号中以保留反斜杠,然后替换它们(感谢cjm指出它):
$dir = 'E:\dir1\dir2\dir3\dir4\dir5';
$dir =~ s#\\#/#g;
答案 1 :(得分:1)
非系统相关路径的概念怎么样?标准perl发行版中有一个名为File::Spec的模块。看看这段代码:
use strict;
use warnings;
use File::Spec;
my $path;
$path = File::Spec->catfile("dir1","dir2","dir3","dir4","dir5");