Recursive Perl detail need help

Posted by Catarrunas on Stack Overflow See other posts from Stack Overflow or by Catarrunas
Published on 2010-12-27T16:52:06Z Indexed on 2010/12/27 16:53 UTC
Read the original article Hit count: 384

Filed under:
|
|
|

Hi everybody, i think this is a simple problem, but i'm stuck with it for some time now! I need a fresh pair of eyes on this.

The thing is i have this code in perl:

#!c:/Perl/bin/perl
use CGI qw/param/;  
use URI::Escape; 

print "Content-type: text/html\n\n";

my $directory = param ('directory'); 
$directory = uri_unescape ($directory); 

my @contents;
readDir($directory);


foreach (@contents) {
  print "$_\n";
}

#------------------------------------------------------------------------
sub readDir(){
 my $dir = shift;
    opendir(DIR, $dir) or die $!;
    while (my $file = readdir(DIR)) {
  next if ($file =~ m/^\./);
  if(-d $dir.$file)
  {
   #print $dir.$file. " ----- DIR\n";
   readDir($dir.$file);
  }
  push @contents, ($dir . $file);
    }
    closedir(DIR);
}

I've tried to make it recursive. I need to have all the files of all of the directories and subdirectories, with the full path, so that i can open the files in the future.

But my output only returns the files in the current directory and the files in the first directory that it finds. If i have 3 folders inside the directory it only shows the first one.

Ex. of cmd call:

"perl readDir.pl directory=C:/PerlTest/"

Thanks

© Stack Overflow or respective owner

Related posts about perl

Related posts about files