Text::Balanced to extract subs?
am 16.06.2006 04:35:43 von ivowel
dear perl users: I want to write a function that extracts "ordinary"
subroutines from perl code. (an equivalent task is extracting all
macros from a latex file.) I am not trying to be too clever. let's
presume I can recognize subs because subs and only subs always start at
the first character of a line and are not anonymous. a sub is followed
by a name and can contain nested expressions.
I can do plain pattern matching to find the first occurance of the
first sub: '^sub [a-zA-Z]+'. but now I am stuck. I need to continue
on with a Text::Balanced expression right after, and after the
text::balanced is done, continue on with my regex search (\G).
this must be a very common problem. is Text::Balanced the right module
for the task? if so, can someone please point me to a simple example?
sincerely, /iaw
Re: Text::Balanced to extract subs?
am 16.06.2006 06:26:58 von Ch Lamprecht
ivowel@gmail.com wrote:
> dear perl users: I want to write a function that extracts "ordinary"
> subroutines from perl code. (an equivalent task is extracting all
> macros from a latex file.) I am not trying to be too clever. let's
> presume I can recognize subs because subs and only subs always start at
> the first character of a line and are not anonymous. a sub is followed
> by a name and can contain nested expressions.
>
> I can do plain pattern matching to find the first occurance of the
> first sub: '^sub [a-zA-Z]+'. but now I am stuck. I need to continue
sub my_1st_sub_not_recognized {};
\w = a word character
Christoph
--
perl -e "print scalar reverse q/ed.enilno@ergn.l.hc/"
Re: Text::Balanced to extract subs?
am 16.06.2006 17:41:23 von ivowel
Sorry, the pattern for a valid subname was just there for illustration.
I am stuck on how to extract multiple consecutive subroutines that
have nested parens:
# others
sub a { if (0==0) { print "hi"; } }
# more others
sub b{ if (1==0) { print "hi"; } }
regards,
/iaw