I could speculate all day but if you add this block of code to the begining of your script then Perl will tell you exactly what the problem is in the browser window rather than give you a 500 internal server error. Perhaps you might like to add this, then post the result if you can't answer the problem yourself with the info you will get?

# ensure all fatals go to browser during debugging and setup # *don't* uncomment these lines on production code for security BEGIN { $|=1; print "Content-type: text/html\n\n"; use CGI::Carp('fatalsToBrowser'); }

As an aside the /i modifier makes the regex case insensitive which is what you are doing in a fairly obscure way with this bit:

/^<(?:[Tt][Rr])...../ # it would be much easier to read if you had /^<(?:TR).........../i

Also I really doubt you need/want this at the end of your regex:

(<.*)?

I guess the reason for suggesting using a module written for the task is that it is likely to be more reliable and robust than a regex solution.

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print


In reply to Re: Problem with CGI script not working (regex at fault) by tachyon
in thread Problem with CGI script not working (regex at fault) by deryni

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.