in reply to how to create folders

I don't know what your intended usage is, nor under which OS you're working, but if it happens that you intend to create lots of directories that way, I suggest that you try first to create a few thousand subdirectories in a directory, then check how your OS handles that in terms of directory access speed. You could be surprised. Apart from that, I would also filter out the "dot" entries with a grep(), and not rely on the dot entries being first. I would do an explicit and careful sort() on the remaining entries, and then maybe just get the last item of the array (or the first, if you sorted descending). Furthermore, I believe that there should be at least one Monk here that could do it all as a one-liner, but that's not me.
my $high = (sort( grep (!/^\.\.?$/, readdir(DIR))))[-1]
Mmmm ?