in reply to Including and Excluding with Impunity

Try this:

... if(eval "\$temp =~ $out");

I'm not entirely sure what's happenening when you attempt to use eval like you are, but it's definitely not what you want. You might be better off passing the inc/exc directories as strings instead of RegExp pieces, then you can do =~ /$out/ instead of using eval.

Otherwise, I recommend that you play around with File::Find. You would be able to accomplish your goals a little easier than attempting to parse the directory tree by yourself.

Good luck,

Alakaboo