加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 如何将完整路径分成目录和文件名?

发布时间:2020-12-15 21:27:46 所属栏目:大数据 来源:网络整理
导读:$a = '/etc/init/tree/errrocodr/a.txt' 我想将/ etc / init / tree / errrocodr /提取到$dir和a.txt到$file.我怎样才能做到这一点? (编者注:原来的问题假定你需要一个正则表达式.) 解决方法 只需使用 Basename: use File::Basename;$fullspec = "/etc/in
$a = '/etc/init/tree/errrocodr/a.txt'

我想将/ etc / init / tree / errrocodr /提取到$dir和a.txt到$file.我怎样才能做到这一点?

(编者注:原来的问题假定你需要一个正则表达式.)

解决方法

只需使用 Basename:
use File::Basename;
$fullspec = "/etc/init/tree/errrocodr/a.txt";

my($file,$dir,$ext) = fileparse($fullspec);
print "Directory: " . $dir . "n";
print "File:      " . $file . "n";
print "Suffix:    " . $ext . "nn";

my($file,$ext) = fileparse($fullspec,qr/.[^.]*/);
print "Directory: " . $dir . "n";
print "File:      " . $file . "n";
print "Suffix:    " . $ext . "n";

您可以看到这返回您请求的结果,但它也能够捕获扩展名(在上面的后面部分):

Directory: /etc/init/tree/errrocodr/
File:      a.txt
Suffix:

Directory: /etc/init/tree/errrocodr/
File:      a
Suffix:    .txt

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读