直接上代碼,全部文件存在 my @files中less
不怕文件夾中帶空格, glob會有此問題用!this
<!-- lang: perl --> my $basedir = '.'; my $d; my @files = (); my @dirs = ($basedir); die "error $basedir: $!" unless(-d $basedir); while(@dirs){ $d = $dirs[0]; $d .= "/" unless($d=~/\/$/); opendir folder, $d || die "Can not open this directory"; my @filelist = readdir folder; closedir folder; my $f; foreach (@filelist) { print $_."\n"; $f = $d.$_; #need to remove . and .. if($_ eq "." || $_ eq "..") { #print "ignore"."\n"; next; } push(@dirs, $f) if(-d $f) ; push(@files,$f)if(-f $f); } shift @dirs; }