rkg has asked for the wisdom of the Perl Monks concerning the following question:
Question: what the heck does XML::Parser Style=>'Subs' do the function namespace?
It appears the Subs sets something or other that lets you choose not to define any sub tag {} or sub tag_{}. That's sort of convenient and cool.
But in the code below, why doesn't perl die on the "subroutine that does not exist" call? It seems Very Dangerous if XML::Parser turns off checking for missing subs. Any way to ask XML::Parser to maintain customary perl behavior -- eg calling a non-existent sub throws a fatal error?
Befuddled --
use strict; use XML::Parser; my $p1 = new XML::Parser(Style => 'Subs'); $p1->parse('<foo id="me">Hello World</foo>'); sub foo { my ($expat, $tag, %a) = @_; print "entering foo\n"; &i_am_a_subroutine_that_does_not_exist(); } sub foo_ { my ($expat, $tag, %a) = @_; print "leaving foo\n"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: XML::Parser Style=>Subs and undefined subroutines
by mirod (Canon) on Oct 01, 2003 at 07:11 UTC | |
by rkg (Hermit) on Oct 01, 2003 at 15:34 UTC | |
by mirod (Canon) on Oct 01, 2003 at 16:32 UTC | |
by chanio (Priest) on Oct 02, 2003 at 03:26 UTC | |
by mirod (Canon) on Oct 02, 2003 at 11:47 UTC | |
|
Re: XML::Parser Style=>Subs and undefined subroutines
by rkg (Hermit) on Oct 01, 2003 at 01:27 UTC | |
by antirice (Priest) on Oct 01, 2003 at 01:46 UTC |