in reply to If statements while in PRINT

Ok, most of you supplied information which I bet makes sense, but I am really new to perl and this is my first attempt to make a program. The program works without errors but it prints null coding.

I am not looking for you to just give me the codes to fix it, I really want to learn how to do this as I want to become a perl guru someday.

You can see the working script here . You can type in information, but leave some fields blank and see what happens. The results will be printed on the next page.

To see the source I am working with, goto source

.

Can someone use lamer terms (for a newbie) on the easiest way to fix this problem? Remember, I don't want the codes made for me, I want to learn from this.

I would VERY much appreciate this!

Thanks!!!!

venimfrogtongue

Replies are listed 'Best First'.
Re: Re: If statements while in PRINT
by hossman (Prior) on Mar 14, 2002 at 09:01 UTC
    What (almost) everyone is suggesting is that you can solve your problem by approaching it in a differnet way. Instead of having a single print statement that outputs a scalar containing multiple lines of HTML -- with some sort of (unknown) embedded logic that is smart enough to supress lines that shouldn't be there, try having multiply calls to the "print" function, if-and-only-if the data is there to print that line.

    This could be as simple as having unique calls for each line...

    print "...html 1..." if ...condition_1...; print "...html 2..." if ...condition_2...; ...
    Or, since the lines are all very similar, and the values are driven by a hash anyway, you could loop over the keys...
    foreach (keys %formdata) { print "...$formdata{$_} ..."; }

    (The exception so far being Juerd's method of turning the foreach/print inside out using print/map)