diff -r c7be4c65f97e -r 9edae8fe1416 common/tools/listdir.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/listdir.pl Tue Apr 14 17:44:14 2009 +0100 @@ -0,0 +1,38 @@ +#!perl -w +use strict; + +my $dir = shift or die "Usage: $0 \n"; # provided dir to traverse +my $filelist = []; + +# fwd declaration to prevent warning +sub recursedir($$); + +# run recurse and print +recursedir ($dir, $filelist); +print $_, "\n" for(@$filelist); + +sub recursedir($$) { + + my $dir = shift @_; + my $list = shift @_; + + if(opendir(DIR, "$dir")) { + # list dir + for my $file(grep { !/^\./ } readdir DIR) { + if(-d "$dir\\$file") { + # traverse subdirs + recursedir("$dir\\$file", $list); + } + elsif(-f "$dir\\$file") { + # if file then swap (any present) fwd to bkslash and add to list + $dir =~s/\//\\/; + $file =~s/\//\\/; + push @$list, "$dir\\$file"; + } + } + closedir DIR; + } + else { + warn "Cannot open the directory '$dir' $!\n"; + } +}