读取perl中目录中的所有文件

前端之家收集整理的这篇文章主要介绍了读取perl中目录中的所有文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的代码的第一部分,我读取一个文件,并将其中的不同部分存储在目录中的不同文件中,在下面我想读取该目录中我在代码的第一部分构建它的所有文件
while(<file>){

#making files in directory Dir

}

opendir(Dir,$indirname) or die "cannot open directory $indirname";
@docs = grep(/\.txt$/,readdir(Dir));
foreach $d (@Dir) {
    $rdir="$indirname/$d";
    open (res,$rdir) or die "could not open $rdir";
    while(<res>){


}

但是使用此代码,最后一个文件的最后一行不会被读取

解决方法

由于我不知道你在线阅读循环中做了什么,并且不理解@docs和@Dir,我将展示对我有用的代码
use strict;
use warnings;
use English;

my $dir = './_tmp/readFID';
foreach my $fp (glob("$dir/*.txt")) {
  printf "%s\n",$fp;
  open my $fh,"<",$fp or die "can't read open '$fp': $OS_ERROR";
  while (<$fh>) {
    printf "  %s",$_;
  }
  close $fh or die "can't read close '$fp': $OS_ERROR";
}

输出

./_tmp/readFID/123.txt
  1
  2
  3
./_tmp/readFID/45.txt
  4
  5
./_tmp/readFID/678.txt
  6
  7
  8

也许您可以发现脚本的相关差异.

原文链接:https://www.f2er.com/Perl/172338.html

猜你在找的Perl相关文章