http://qs321.pair.com?node_id=651889

jesuashok has asked for the wisdom of the Perl Monks concerning the following question:

Fellow monks,
#!/usr/bin/perl use strict; print_dir ( "." ); sub print_dir { my $dir_name = shift; #print "-->$dir_name\n"; opendir ( my $dir_h , "$dir_name") or die "Unale to open dir :$dir_ +name: $!\n"; #print "Inside Function\n"; while ( my $file = readdir($dir_h) ) { #print "File :$file:\n"; next if ( "$dir_name/$file" =~ /\/\.$/ or "$dir_name/$file" =~ /\ +/\.\.$/ ); #print "$dir_name\n"; #<>; if ( -d "$dir_name/$file" ) { #print "Match\n"; print_dir ( "$dir_name/$file" ); } print "$dir_name/$file\n"; } #return $dir_name; }
I am trying to print the contents of a directory recursively. But I see in the output that the files are printed-out 2 times. Is there anything I am missing out in the recursive function.


i m possible