>
> Why dont you just define the function outside and call them from inside
> your master function
>
> Bernd Prager wrote:
> >
> > I run into a problem and would appreciate some help.
> >
> > I'd like to write a subroutine that parses an XML file.
> > I use XML::Parse and one way that works is to define
> > subroutines with the name of an XML tag and every appearance
> > of that tag calls the appropriate subroutine.
> >
> > Since I want to have this procedure entirely encapsulated in
> > my funtion I end up defining nested subroutines:
> >
> > sub myParse {
> > my $content;
> >
> > sub myXMLtag {
> > (... do something with $content...)
> > }
> >
> > }
> >
> > Now I'm getting error messages "Variable "$content" will not stay shared".
> >
> > I read something about anonymous functions to prevend this error but
> > I can't do that here since XML::Parse requires the function names
> > the same as the XML tags.
The reason is that some XML tags conflict with other naming conventions I use.
And it is not very expressive to have function names that are called "value" and
"item".
But I did find a way to prevend the error message. I just have to use full
qualified variable names like "$myParse::content". That works for me. :))
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]