Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^2: XML::Parser ( or Perl internals ) speed mysticism

by zagzag (Novice)
on Mar 26, 2006 at 07:55 UTC ( #539267=note: print w/replies, xml ) Need Help??


in reply to Re: XML::Parser ( or Perl internals ) speed mysticism
in thread XML::Parser ( or Perl internals ) speed mysticism

sfink, your right ! This code working fine !
#!/usr/bin/perl use XML::Parser; our $str; my @arr; my $file = shift; my $parser = new XML::Parser:: Handlers =>{ Char => sub { $str .= $_[1]; return; #clear return value } } ; $parser->parsefile($file);

Replies are listed 'Best First'.
Re^3: XML::Parser ( or Perl internals ) speed mysticism
by PodMaster (Abbot) on Mar 26, 2006 at 16:18 UTC
    sfink, your right ! This code working fine !
    The original code should work fine as well (you've found a bug :)). Since the return value isn't being used for anything, that callback (among others) should be called in void context. The patch is easy, modify Expat.xs, and replace all instances of
    G_DISCARD);
    with
    G_DISCARD|G_VOID);
    I've tested this, and it doesn't seem break anything.

    I've also filed a bug report.

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://539267]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (2)
As of 2023-01-28 17:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?