簡體   English   中英

如何在Perl中獲取目錄(文件路徑)分隔符?

[英]How can I get the directory (file path) separator in Perl?

在Java的情況下,我們可以使用路徑分隔符

System.getProperty("path.separator");

Perl中有類似的方法嗎? 我想做的就是找到一個目錄,直接子目錄。 說我有兩個參數$a$b ; 我基於路徑分隔符拆分第一個並再次連接它,除了最后一個片段並與第二個參數進行比較。

問題是我的代碼必須是通用的,為此我需要知道系統相關的路徑分隔符是什么?

您不應該手動形成文件路徑 - 而是使用File :: Spec模塊:

($volume, $directories,$file) = File::Spec->splitpath( $path );
@dirs = File::Spec->splitdir( $directories );
$path = File::Spec->catdir( @directories );
$path = File::Spec->catfile( @directories, $filename );

您可以在File :: Util中使用SL常量

接受的答案解決了您的真正問題,但如果您真的想要獲取分隔符(僅使用perl核心模塊):

my $sep = File::Spec->catfile('', '');

這將兩個空文件名與當前系統的分隔符連接起來,只留下分隔符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM