sub recurse { my $d = shift; opendir D,$d; # who needs error checking anyways while() { if( -d $_ ){ recurse($_); else{ #regular file } } }