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