I am doing a Perl script to attach another variable to the end of the current working directory, but I am having problems with using the module.
If I run getcwd from
D:\, the value returned isD:/ (with forward slash)If I run getcwd from
D:\Temp\, the value returned isD:/temp (without forward slash)This makes the situation quite tricky because if I simply do:
use Cwd; $ProjectName = "Project"; # This is a variable supplied by the user $directory = getcwd().$ProjectName."\/"; print $directory."\n";I will end up with either
D:/Project (correct)or
D:/TempProject (instead of D:/Temp/Project)Is this a feature in
Cwd? It does not seem to be in the documentation.I have thought up the following code to solve this issue. It takes 3 lines to do it. Can any of you see a more concise way?
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";