J
Jerry Krinock
I need to use Perl module XML::LibXML::Reader [1]. My web host has it
installed. However, when I simply invoke it to create a new object, I
get an error message from within the module:
Can't locate object method "_newForString" via package
"XML::LibXML::Reader" at /usr/lib/perl5/site_perl/5.8.8/i686-linux/XML/
LibXML/Reader.pm line 159.
Checking the source, I find that indeed _newForString is called at
line 159 and not defined anywhere.
The XML::LibXML::Reader documentation states that it "requires at
least libxml2-2.6.21". So, I thought: Maybe my web host does not have
this prerequisite installed?
I then installed XML::LibXML::Reader on my local Macintosh and ran my
script there, but got the same result. My Mac has a 4.2-megabyte /usr/
lib/libxml2.2.dylib. Admittedly, I don't understand much about this,
but I thought that these dylibs were only available to programs
written in C, not scripts. What should I be looking for?
Of course, the problem could be in my code, shown below, but I don't
see how because the bomb at line 159 is when the constructor simply
tries to hand off my string argument, before anything substantive is
done.
Thank you,
Jerry Krinock
[1] http://search.cpan.org/dist/XML-LibXML/lib/XML/LibXML/Reader.pod
[2] ***** TestSS.pl *****
#!/usr/local/bin/perl
my $string = q{<?xml version="1.0" encoding="UTF-8"?>
<new-order-notification xmlns="http://checkout.google.com/schema/2"
serial-number="403468137391754-00001-7">
<timestamp>2008-07-25T14:20:57.237Z</timestamp>
<shopping-cart>
<items>
<item>
<item-name>Bookmarksman</item-name>
</item>
</items>
</shopping-cart>
</new-order-notification>} ;
use XML::LibXML::Reader ;
my $reader = XML::LibXML::Reader->new(string => $string) ;
while ($reader->read) {
print "Parsed node name: $reader->name\n" ;
}
installed. However, when I simply invoke it to create a new object, I
get an error message from within the module:
Can't locate object method "_newForString" via package
"XML::LibXML::Reader" at /usr/lib/perl5/site_perl/5.8.8/i686-linux/XML/
LibXML/Reader.pm line 159.
Checking the source, I find that indeed _newForString is called at
line 159 and not defined anywhere.
The XML::LibXML::Reader documentation states that it "requires at
least libxml2-2.6.21". So, I thought: Maybe my web host does not have
this prerequisite installed?
I then installed XML::LibXML::Reader on my local Macintosh and ran my
script there, but got the same result. My Mac has a 4.2-megabyte /usr/
lib/libxml2.2.dylib. Admittedly, I don't understand much about this,
but I thought that these dylibs were only available to programs
written in C, not scripts. What should I be looking for?
Of course, the problem could be in my code, shown below, but I don't
see how because the bomb at line 159 is when the constructor simply
tries to hand off my string argument, before anything substantive is
done.
Thank you,
Jerry Krinock
[1] http://search.cpan.org/dist/XML-LibXML/lib/XML/LibXML/Reader.pod
[2] ***** TestSS.pl *****
#!/usr/local/bin/perl
my $string = q{<?xml version="1.0" encoding="UTF-8"?>
<new-order-notification xmlns="http://checkout.google.com/schema/2"
serial-number="403468137391754-00001-7">
<timestamp>2008-07-25T14:20:57.237Z</timestamp>
<shopping-cart>
<items>
<item>
<item-name>Bookmarksman</item-name>
</item>
</items>
</shopping-cart>
</new-order-notification>} ;
use XML::LibXML::Reader ;
my $reader = XML::LibXML::Reader->new(string => $string) ;
while ($reader->read) {
print "Parsed node name: $reader->name\n" ;
}