由於一些亂七八糟的舊代碼,如何在Perl中更正文件的操作系統特定路徑?
我
$path = [OS specific base DIR name][hardcoded Linux file path]
所以在Linux上,它是像
$path = /common/path/to/dir/pathtofile/name.extension
但在Windows成爲這個
$path = C:\path\to\dir\pathtofile/name.extension
某些代碼在Windows上失敗,因爲它期望\
,而它得到/
。
有沒有可以幫助我的Perl函數?
喜歡的東西
print "$path\n";
$path = <some function> $path;
print "$path\n";
C:\path\to\dir\pathtofile/name.extension
C:\path\to\dir\pathtofile\name.extension
Windows不介意反斜槓而不是反斜槓 - 不在API中。那麼,你是否提供了一個'cmd.exe'進程的文件名(因爲這確實得到了很多/引入命令選項)? – 2010-10-12 06:50:48
@Jonathan:謝謝,我早該回答。在我發佈這個問題後,我發現正斜槓並不是真正的問題(正如你在這裏正確提到的那樣)。 – Lazer 2010-10-14 06:01:04