首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取perl中的整个dirent结构

问获取perl中的整个dirent结构
EN

Stack Overflow用户
提问于 2016-08-13 00:09:17
回答 1查看 119关注 0票数 1

linux返回一个dirent结构,其中包含文件名以外的更多信息,但是readdir的readdir似乎只返回文件名(我尝试将其赋给一个变量,并在该变量上使用Data::Dumper::dumper,以查看它是否只是文件名的字符串形式-我不知道这是不是一种有用的方法,但这是我能想到的最好的方法)。有没有办法获得其他信息(特别是我需要d_type),而不需要stat'ing这个名字?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-13 04:14:47

您可以使用IO::Dirent

代码语言:javascript
复制
use strict;
use warnings 'all';
use 5.010;

use IO::Dirent qw(:ALL); # import constants DT_REG, DT_LNK, etc.

my %types = (
    DT_REG() => 'regular file',
    DT_LNK() => 'symbolic link',
    DT_DIR() => 'directory'
);

my $dir = 'foo';
opendir my $dh, $dir or die "Failed to opendir '$dir': $!";

while (my $entry = nextdirent($dh)) {
    say join "\t", $entry->{name}, $types{ $entry->{type} };
}

输出:

代码语言:javascript
复制
..      directory
baz     symbolic link
.       directory
bar     regular file
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38922314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档