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

Dear Wise monks

I am currently having to write html from within perl cgi script. I want to break up a long html document into divisions and link them from the very top (like a table of contents type thing).

You know that with standard html, links within the same page can be accomplished with  <a href="#somestuff"> Some stuff</a>, and then having something like  <a name="somestuff"> at the point where you want to anchor that link.

My problem is that in my cgi script the '#' in the middle appears to turn the remaining line of code into a comment and it does not get processed. For example where I have something like

print $cgi->ul( $cgi->li($cgi->a({href=>"#somestuff"},'Somestuff Info.')), $cgi->li($cgi->a({href=>"#someotherstuff"},'Someotherstuff Info.') +) );

I find that it doesn't get processed. The link appears to form alright, but it does not work. It rather tries to process a script in that directory and Apache returns a 'file not found' error

Please does anyone know a fix for this. This might really be redundant stuff but please bear with my naivity.

And thanks so much for your time

Replies are listed 'Best First'.
Re: A little problem anchoring html links using cgi
by moritz (Cardinal) on Jul 26, 2011 at 11:45 UTC
    My problem is that in my cgi script the '#' in the middle appears to turn the remaining line of code into a comment and it does not get processed.

    That doesn't happen if the # appears in a quoted string (eg "...", as in your example).

    Please show us the generated HTML, and tell us in what way it doesn't work. Also provide all the code that is needed to reproduce your problem.

      Yes you're right. It actually was working okay. I suppose it looked like it wasn't because the page was not sufficiently full. When it did I noticed that it was working perfectly. thanks for your time though, and sorry that this reply is this late. Just escaped me at the time. Cheers

Re: A little problem anchoring html links using cgi
by jethro (Monsignor) on Jul 26, 2011 at 12:52 UTC
    Maybe there is an unpaired " somewhere before these two lines in your script