I set up my directory structure like this.
/lib #contains modules
/config #config information differing prod from dev
This stucture makes it easy to move from dev to test to production enviroments by setting up enviroment specific files in config. The sensitive information in /lib and /config are also in the same level as the website root so it is not accessable from the webserver (i.e. the webserver does not even know about them),but you can access them by relative paths in your scripts. The more information you keep inaccessable the better. There is no need for a vistor to be able to know anything about database structure, what DBI driver you are using, or if you mistakingly rolled your own query string parser :).
Then the fun part is to get your server locked down so that they can not get to see those files by other means.
grep> cd pub|
grep> more beer
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.