Skip Menu |
 

This queue is for tickets about the XML-Twig CPAN distribution.

Report information
The Basics
Id: 429
Status: resolved
Priority: 0/
Queue: XML-Twig

People
Owner: Nobody in particular
Requestors: Carl [...] StainlessKorea.net
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 3.01
Fixed in: 3.04



Subject: Example Files from XML::Twig Web Page Don't Work
Download (untitled) / with headers
text/plain 4.7k
I'm getting the following error: Use of uninitialized value in null operation at C:/Perl/site/lib/XML/Parser/Expat.pm line 438. Undefined subroutine &main:: called at C:/Perl/site/lib/XML/Parser/Expat.pm line 438. when I execute the sample script: ex1_6.pl This sample script is from the tutorial at: http://standards.ieee.org/resources/spasystem/twig/tutorial/index.html Hmmm, the script seems to have been removed from that page . . . Here are the contents of the script: ----------------- #!/bin/perl -w ######################################################################### # # # This example shows how to use the TwigRoots option # # It outputs the name of the leader in a statistical category # # # ######################################################################### use strict; use XML::Twig; my $leader_name; my $leader_score=0; my $field= $ARGV[0] || 'ppg'; # twig will be created only # for name and $field elements my $twig= new XML::Twig( TwigRoots => { 'name' => 1, $field => 1 }, # handler will be called for # $field elements TwigHandlers => { $field => \&field } ); $twig->parsefile( "nba.xml"); # parse the twig # print the result print "Leader in $field: $leader_name ($leader_score $field)\n"; sub field { my( $twig, $field)= @_; # get the score my $score= $field->text; if( $score > $leader_score) # if it's the highest { $leader_score= $score; # store the information $leader_name= $field->prev_sibling( 'name')->text; } $twig->purge; # delete the twig so far } ----------------- Here is line 438 from Expat.pm Expat.pm:438: $result = ParseStream($parser, $ioref, $delim); The function ParseStream doesn't seem to be defined anywhere, and it doesn't seem to be called anywhere but on that line. The problem does not occur with XML::Twig 2.02, but does occur with XML::Twig 3.0[123]. Here are the results from running "perl -V": ----------------- Summary of my perl5 (revision 5 version 6 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEX T -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX', optimize='-O1 -MD -DNDEBUG', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86' libpth="C:\Perl\lib\CORE" libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32. lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 630 Built under MSWin32 Compiled at Oct 31 2001 20:29:41 %ENV: PERL_BIN="c:\Perl\bin;" PERL_TOOLS="c:\tools\perltool" @INC: c:/Perl/lib c:/Perl/site/lib . ----------------- The command "uname -a" doesn't seem to be supported on my system; I am running Microsoft Windows XP Professional as my operating system.
Download (untitled) / with headers
text/plain 102b
The problem is solved in 3.04 XML::Parser 2.27 and 2.30 behave differently, which caused the problem.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.