Josimar Nunes de Oliveira <[EMAIL PROTECTED]> wrote: : use File::stat; : : listfiles( 'C:' ); : : # : for($i=0;$i<$count;$i++){ : print "\n", $allfiles[$i][0], ' => ', $allfiles[$i][1]; : } : # : : sub listfiles{ : my $folder = shift; : $folder .= '\\'; : opendir ( my $media, $folder ); : my @files = readdir( $media ); : closedir( $media ); : foreach (@files){ : my $sb = stat($folder . $_); : ## mode 16895 or 16749 stands for subdirectory : if ($sb->mode == 16895 || $sb->mode == 16749){ : if ($_ ne '.' and $_ ne '..'){ : listfiles( $folder . $_ ); : } : } else { : $allfiles[$count][0] = $_; : $allfiles[$count][1] = $folder; : $count++; : } : } : } :
One reason File::Find was mentioned is that you can get the same thing with something like: use strict; use warnings; use File::Find; my @files; find( sub{ push @files, [ $_, $File::Find::dir ] }, 'c:/perl/bin/' ); HTH, Charles K. Clarkson -- Head Bottle Washer, Clarkson Energy Homes, Inc. Mobile Home Specialists 254 968-8328 -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]