I don't understand this code at all.
First, I can only assume that main() is supposed to be called first.
Second, note that you keep changing the value of $text:
At 16:50 -0400 2001.06.01, [EMAIL PROTECTED] wrote:
>sub main {
> $text="123456789";
> foo($text);
> bar($text);
>}
>sub foo {
> $text = shift;
> if ($text =~ /(.)(.*)/) {#first num in $1, the rest in $2
> foo($2);
> print $1;
> }
>}
By the time you get to bar($text), $text is undef, because it has been
reduced to undef. If you put my() on each variable, that changes things
completely. Now bar() gets the full 9-char value, but it does nothing
interesting with it:
>#if recursive calls did not overright the value (like i want for
>#this particular exersice, then foo would print out 987654321
>#but it prints out 999999999
>sub bar {
> $text = shift;
> if ($text =~ /(23)/) {
> bar($1);
> print $1;
> }
>}
You keep calling bar("23") over and over again after the first time it is
called. It won't ever stop.
>sub baz {
> my $text = shift;
> if ($text =~ /(2)/) {
> print $1;
> }
>}
baz() is never called in your code at all.
If you give some working code that does what you say, perhaps we can help
figure it out.
--
Chris Nandor [EMAIL PROTECTED] http://pudge.net/
Open Source Development Network [EMAIL PROTECTED] http://osdn.com/