http://qs321.pair.com?node_id=181872


in reply to How to organize a CGI project?

For larger web projects, sometimes it helps to create a set of Unix-ish directories and build from there:
$app/bin your main script and/or associated utilities $app/etc configuration files, persistent state $app/lib all of your modules or 3rd-party modules you need to bundle $app/var any misc. state or files you create/use at run-time (if any) $app/doc documentation (though a README or INSTALL would be nice in $app/) $app/htdocs the web 'root' of your application, attached to your web site using server configuration
Keep in mind that though it's a common practice to stick all of your CGI scripts in a /cgi-bin/ directory, it's not necessarily the best practice. Most web servers will let you drop a script.cgi directly into your document root, (and if you're extension-conscious, Apache's MultiViews or another content negotiation mechanism could allow you to link to it just as "script"), which could help with URI UI issues.

Sometimes this is overkill (and it sounds like it might be for this particular project), but this is useful for keeping stuff organized and allows a project to be completely self-contained and portable.