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

Hi all,

I am working on perl/cgi. Just a while ago, i started getting the foll. error,

The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the
error and then click the Refresh button, or try again later.
--------------------------------------------------------
Invalid at the top level of the document. Error processing resource

I found that, the following line in the .cgi file throws this error,
print $val, br;

But it gets resolved in all browsers, when I use it like this,
print "$val, br";

Also the thing is, the previous syntax works in Firefox but not in IE 6.

Please help me.

Replies are listed 'Best First'.
Re: an error with my perl cgi code
by Perl Mouse (Chaplain) on Nov 02, 2005 at 13:34 UTC
    If it's a CGI program, the program doesn't "work" in Firefox nor in IE. Or any other browser for that matter. CGI is a protocol that is talked between an HTTP server and a back-end program (the browser being a front-end). Such back-end programs are called 'CGI programs', and they never talk to browser, and certainly don't work in browsers.

    Without knowing more of the code, it's hard to tell what print $val, br; is supposed to do. If there's a br subroutine, the code will print the value of $val, followed by the return value of br in list context - and unless its return value is ", br" (sans quotes), that will be different from print "$val, br", which will print the value of $val, followed by a comma, a space, the letter b and the letter r.

    However, if br isn't a subroutine, the code shouldn't compile under strict, and generate a warning under warnings.

    Perl --((8:>*
Re: an error with my perl cgi code
by davorg (Chancellor) on Nov 02, 2005 at 14:11 UTC

    Is there anything written to the web server error log? Try running the page from the command line to see if any errors get displayed.

    It sounds like it might be a problem with the actual XML that you are generating, rather than a problem with the program's execution. Try viewing the source and pushing the reuslts through an XML validator.

    --
    <http://dave.org.uk>

    "The first rule of Perl club is you do not talk about Perl club."
    -- Chip Salzenberg

Re: an error with my perl cgi code
by spatterson (Pilgrim) on Nov 08, 2005 at 15:34 UTC
    That code line looks fine, but you may need to import some of the CGI module's extra functions using use CGI ':all';

    just another cpan module author