http://qs1969.pair.com?node_id=1077221

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

I'm trying to print all the files and directories within a directory(including files and directories in subdirectories. this is my code;

use strict; use warnings; use Data::Dumper; my $dir = 'C:\Users\test\Dropbox\Perl'; print_rec($dir); sub print_rec { opendir DIR, shift; while( readdir(DIR) ) { if(!/\.|\.\./ && -d $_) { print "$_ is a directory\n"; return print_rec($_); } elsif (!-d) { print "$_ \n"; } } }

My program stops after the it reaches the first deepest level, actually it not returns at the previous level. What am i doing wrong. Understanding this will help me understand how the stack trace works in perl. Thanks !!