M
Mark Healey
Can anyone tell me why the following only goes one level deep in the
directory tree?
I'm stumped
#!/usr/bin/perl
use strict;
use Cwd;
my $cdir;
my @files;
$cdir = getcwd();
doDir($cdir);
foreach(@files)
{
printf("$_\n");
}
exit;
sub doDir
{
my $dir = $_[0];
printf("####$dir####\n");
my $fname;
opendir(DIRHANDLE, $dir);
my @list = readdir(DIRHANDLE);
closedir(DIRHANDLE);
foreach(@list)
{
chomp;
if(-d $_)
{
unless(/\.\.?\z/)
{
$fname=$dir.'/'.$_;
doDir($fname);
}
}
else
{
if(/\.mp3\z/)
{
$fname=$dir.'/'.$_;
push(@files, $fname);
}
}
}# end foreach(@list)
}# end doDir()
TIA
directory tree?
I'm stumped
#!/usr/bin/perl
use strict;
use Cwd;
my $cdir;
my @files;
$cdir = getcwd();
doDir($cdir);
foreach(@files)
{
printf("$_\n");
}
exit;
sub doDir
{
my $dir = $_[0];
printf("####$dir####\n");
my $fname;
opendir(DIRHANDLE, $dir);
my @list = readdir(DIRHANDLE);
closedir(DIRHANDLE);
foreach(@list)
{
chomp;
if(-d $_)
{
unless(/\.\.?\z/)
{
$fname=$dir.'/'.$_;
doDir($fname);
}
}
else
{
if(/\.mp3\z/)
{
$fname=$dir.'/'.$_;
push(@files, $fname);
}
}
}# end foreach(@list)
}# end doDir()
TIA