繁体   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