48 lines
729 B
Perl
48 lines
729 B
Perl
#!/usr/bin/perl
|
|
#
|
|
# slow implementation of recursive dir listing
|
|
#
|
|
|
|
use strict;
|
|
use warnings "all";
|
|
|
|
sub getfilenames;
|
|
sub help;
|
|
|
|
help unless defined($ARGV[0]);
|
|
|
|
my @files = ();
|
|
getfilenames($ARGV[0]);
|
|
my $file = "";
|
|
|
|
while($file = pop (@files)){
|
|
print "$file\n";
|
|
}
|
|
|
|
exit 0;
|
|
|
|
sub getfilenames {
|
|
my $path = shift;
|
|
|
|
opendir (DIR, $path) or return "";
|
|
my @localfiles;
|
|
@localfiles =
|
|
map { $path . '/' . $_ }
|
|
grep { !/^\.{1,2}$/ }
|
|
readdir (DIR);
|
|
@files = (@files, @localfiles);
|
|
|
|
foreach (@localfiles) {
|
|
next if(-l $_);
|
|
if( -d $_){
|
|
getfilenames($_);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
sub help {
|
|
print "Usage: $0 dir\n";
|
|
exit 0;
|
|
}
|