返回某路径下的所有文件夹名称和返回某路径下的所有文件名[循环返回]
返回某路径下的所有文件夹名称和返回某路径下的所有文件名[循环返回]
[解决办法]
if(-d $pathname) {
# $pathname 是目录名
} else {
# $pathname 是文件名
}
[解决办法]
不知道你到底想要什么结果,
递归的寻找,然后将每个结果放到一个数组里就OK了
#!/usr/bin/env perl
my @files = ();
my @dirs = ();
sub findfile {
my $dir = shift;
opendir DIR, $dir;
foreach my $entry(readdir(DIR)) {
next if($entry =~ /^\.+$/);
my $ename = "$dir/$entry ";
if(-d $ename){
push(@dirs, $ename);
findfile($ename);
}else {
push(@files, $ename);
}
}
close DIR;
}
findfile($ARGV[0]);
print "=======DIRs\n ";
foreach my $ent(@dirs) {
print "$ent\n ";
}
print "=======FILEs\n ";
foreach my $ent(@files) {
print "$ent\n ";
}
[解决办法]
递归遍历目录?
use File::Find;
find sub { print $File::Find::name, "\n " }, $path;
[解决办法]
while ( <*> ) {
print "$_\n ";
}
> > 不知道如何返回。
什么叫如何返回?
[解决办法]
while ( <*> ) {
print "$_\n " if(-d $_);
}