現在の作業ディレクトリの末尾に別の変数を追加する 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";