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

perl 得到指定目录中的指定内容

发布时间:2020-12-16 00:20:30 所属栏目:大数据 来源:网络整理
导读:两种方法,第一种方法是可以使用 chdir + glob,但是这种方法对于 . 和 .. 文件要 分开处理, 另外一种方法是使用目录句柄DH: opendir,readdir,closedir,这种方法可以获取所有的文件,包括. 和..文件。。。。。 第一种方法示例如下: 1) #!perl use strict;

两种方法,第一种方法是可以使用 chdir + glob,但是这种方法对于 . 和 .. 文件要 分开处理, 另外一种方法是使用目录句柄DH: opendir,readdir,closedir,这种方法可以获取所有的文件,包括. 和..文件。。。。。

第一种方法示例如下:

1)

#!perl


use strict;
use warnings;

sub change_dir
{
?? ?my ($chdir,@filenames) = @_;
?? ?chdir $chdir or die "can't change dir: $!";
?? ?@filenames = glob "*";
?? ?foreach my $filename (@filenames)
?? ?{
?? ??? ?print "the dir has $filename n";
?? ?}
}
?? ?
sub list_files

{

??????? #本程序适用于Windows

??????? &change_dir("e:nanadiags","*");
}
&list_files();
2)第二种方法如下:

#!perl

use strict;
use warnings;

sub list_files
{
?? ?my ($dir) = @_;
?? ?opendir DH,$dir or die "Can't open dir $dir: $!n";
?? ?foreach my $file (readdir DH)
?? ?{
?? ??? ?print "$dir has $filen";
?? ?}

?? closedir DH;
}
&list_files("e:nanadiags");

如果第二种方法中不想显示 . 和 .. 文件则在foreach语句中加入这么一句话:??? next if ($file eq "." or $file eq ".."); 就ok 啦。

如果只想显示文件 可以加上一句:next unless -f "$dir$file" ;

你觉得哪种方法好呢?

(编辑:李大同)

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

    推荐文章
      热点阅读