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

Hi,
I've got a working perl script that talks to the Yahoo API through a rest interface. Works great. I put a CGI lib into it so I could pass it parameters, and now I get errors in my xml parsing.
use strict; use XML::DOM; use LWP::UserAgent; use CGI qw/:standard/; my $zipcode = param( "zipcode" ) || "27613"; my $searchTerm = param( "query" ) || "pizza";
Without the CGI code, and hardcoding the zip and searchterms, it works. When I add in the above, I get an error of:
Can't call method "getNodeValue" on an undefined value at /Library/Web +Server/CGI-Executables/WebYahoo.pl line 54. [Wed Apr 26 16:46:44 2006] [error] [client 24.106.190.114] Premature e +nd of script headers: /Library/WebServer/CGI-Executables/WebYahoo.pl
And that line is the $addr of:
$title = $result->getElementsByTagName('Title')->item(0)->getF +irstChild->getNodeValue; $addr = $result->getElementsByTagName('Address')->item(0)->get +FirstChild->getNodeValue; $phone = $result->getElementsByTagName('Phone')->item(0)->getF +irstChild->getNodeValue;

So any ideas why this would work fine, but when I add the CGI lib, that it errors out? Strangest thing.
thanks!

2006-04-27 Retitled by g0n, as per Monastery guidelines
Original title: 'Conflict between Cgi and xml:dom?'

Replies are listed 'Best First'.
Re: Conflict between CGI and XML::DOM
by diotalevi (Canon) on Apr 26, 2006 at 21:04 UTC

    By import :standard, you also imported :html2 which includes a function named address. Maybe XML::DOM is being too clever when it comes to looking for the address in the XML you're handling.

    ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊