chrisharris has asked for the wisdom of the Perl Monks concerning the following question:

I'm fairly new at Perl, but I have an idea I'd like to implement.
I need a site which can recieve data from consumers on a registration form including their contact info and a description of the product or service they are looking for. The site must also have a registry where I can list these requests to be viewed by various suppliers. I need to be able to contact both groups through email on the site. If anyone has any suggestions (or maybe URLs of existing code that will do this, or can be modified to) you will be _much_ appreciated.

-chris

Replies are listed 'Best First'.
Re: where to start?
by plaid (Chaplain) on Apr 09, 2000 at 14:59 UTC
    I would start on that with some sort of relational database, and its corresponding DBI module. You could have the contact info, description, email addresses, and any other necessary info, and store it in said database. Then, for the registry part of the site, it would be very easy to search through the database with some simple sql calls based on selected criteria. Relational databases are an excellent route to go when information you have needs to be searched, sorted, and/or grouped often, as the routines to do so are already implemented, and designed to be as efficient as possible. In addition to that, if you want consumers and/or suppliers to have passwords with which to log in to the site, I'd take a look at storing this info in the database as well. Then, take a look at the AuthDBI module at CPAN (which I've used and works very well), for Authentication/Authorization out of the database. Having all this information would then enable things such as easily sorting things by user, letting users have configurable preferences, etc., all with just a few hairy sql statements.
Re: where to start?
by btrott (Parson) on Apr 10, 2000 at 05:41 UTC
    It looks like you're basically starting from scratch... is that the case?

    I think I'd also suggest using a database package like MySQL. To do that, you'll need to learn some basic SQL; do you know any? Here's a very good tutorial.

    You should use DBI as your Perl interface to MySQL. For this, take a look at Mark-Jason Dominus's A Short Guide to DBI, and check out the new DBI book, Programming the Perl DBI.

Re: where to start?
by little_mistress (Monk) on Apr 10, 2000 at 02:50 UTC
    hmmmm...... Some of the tools you'll need, as plaid has pointed out, are a database. It sounds like the site your thinking of will probably grow fairly large. So I would put some thought into the database software. mSQL or MySQL are probably the most "standard" choices for perl programmers. There are perl moduals for both at CPAN. The next bit that i would like to give you in addition to supporting plaid is to make sure that you benchmark everything. It is arguable that benchmarking isn't a must for a non commerical site but it is definately a must for all commercial sites. You can find, um the last i looked someone correct me if im wrong, two benchmarking moduales at CPAN the more standard (ie. its documented in the nutshell book) is Benchmark.pm. Just because there is more than one way to do it, doesnt mean that all ways are equal. I would suggest the Advanced Perl Programming book from O'Reilly. For a fuller understanding of data structures in Perl, and OO Perl programming, also see the perltoot in the standard perl documentation. UM... and regular expressions will be handy too. Good luck

    lm little_mistress@mainhall.com