我真的應該知道這一點,但我主要使用Linux,Mac OS X和Windows,它們都使用正斜槓(/
)作爲目錄分隔符(Windows可以使用\
或/
)。 。Perl處理目錄分隔符
這意味着,當我通常寫Perl程序,我可以簡單地使用/
作爲目錄分隔符,一切都很好。但是,我知道,File::Spec
是假設允許文件分隔符的便攜(意義)。
如果我不使用正斜槓作爲目錄分隔符的系統上,我明白,用戶希望能夠使用默認的分隔符輸入文件,看看輸出,默認的分隔符。 (例如,Windows用戶將輸入並期望輸出爲C:\Users\smith\Documents
而不是C:/Users/smith/Documents
),但Perl在內部執行什麼操作?
我可以,儘管什麼平臺可以作爲目錄分隔符使用,只需使用前,當我處理文件的內部斜槓。例如,我有一個目錄$dir
和一個名爲$file
的文件,我想打開該文件。我可以簡單地說$dir/file
,還是必須使用File::Spec
來爲我的名字連接名稱?
事實上,Perl程序需要在目錄名稱中正斜槓?我正在編寫一個模塊,並將向調用程序傳送文件名。我是否應該將文件作爲/foo/bar/fubar
或者如果系統使用早期Macintosh OS等冒號,例如:foo:bar:fubar
?
你打算與路徑來幹什麼?如果是讀取和寫入文件,那麼'/'很好,而且perl會做你的意思。如果您正在構建要由主機計算機的命令shell或該系統上的其他程序解析的命令,那麼您需要遵守該平臺的規則,並且File :: Spec可以提供幫助。 –