I agree with the above but would like to add a caveat - if you are up against a tight deadline this could be a dangerous project to take on by yourself. You might want to work on it in consultation with someone else who is experienced.

The reasons are security and commercial liability. Imagine if you were in your client's place, and the guy you hired was in your shoes! What if this shop starts spending money advertising? There are guidelines well discussed at Perlmonks and elsewhere about what is good to do and not to do, but if your system fails it might 1) incur lost sales for every hour it is down, or 2) enable a breach in security such as publishing passwords or allowing crackers to access other parts of the server.

If it is not such a critical project, then jump in both feet first! But I would recommend doing it with a lot of reading. In particular many free programs available on "scripting" sites out there have well known security holes documented here and elsewhere. Probably better I'd think to keep things very simple and roll your own.

I think the main parts of your program will have to be getting the form data, neutralizing dangerous data that might be in it (such as checking length and removing pipe marks, line feeds, and control characters), and appending the data to a text file while maintaining/checking a lock on it in case of frequent access. There are also messages you will want to supply to the visitor such as confirmation of the data and lacking information in required fields. The rest of the processing can be done manually, for example by downloading a tab-separated file into a spreadsheet program.

But if you have experience programming in other fields I would guess that 2 months, including learning Perl from scratch and doing a lot of studying of the issues, is probably enough time to get up to speed and be confident of what you are doing while keeping your client happy and involved. As time goes on you will be pleasantly surprised by how much you are able to do, but that power is directly related to how solid your foundation of understanding is. Good luck!


In reply to Re: how do I use Perl with CGI? by mattr
in thread how do I use Perl with CGI? by deels

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.