我正在做一个 Perl 脚本来将另一个变量附加到当前工作目录的末尾,但是我在使用该模块时遇到了问题。
如果我从 运行 getcwd
D:\
,则返回的值为D:/ (with forward slash)
如果我从 运行 getcwd
D:\Temp\
,则返回的值为D:/temp (without forward slash)
这使情况变得非常棘手,因为如果我只是这样做:
use Cwd; $ProjectName = "Project"; # This is a variable supplied by the user $directory = getcwd().$ProjectName."\/"; print $directory."\n";
我最终会得到
D:/Project (correct)
或者
D:/TempProject (instead of D:/Temp/Project)
这是 中的一个功能
Cwd
吗?它似乎不在文档中。我想出了以下代码来解决这个问题。它需要 3 行来完成。你们中的任何人都可以看到更简洁的方法吗?
use Cwd; $ProjectName = "Project"; # This is a variable supplied by the user $directory = getcwd(); $directory =~ s/(.+?)([^\\\/])$/$1$2\//g; # Append "/" if not terminating with forward/back slash $directory .= $ProjectName."\/"; print $directory."\n";