I will do it this way:
use strict; use warnings; my $e = "foo(0)"; eval $e; sub foo { my $i = shift; print "$i foo\n"; if ($i < 10){ $i++; print "calling foo\n"; foo($i); } }
Other than the direct issue others already pointed out, there is two other style things:
Your guess that it has something to do with multithreading is... as multithreading will not help in this case.
In reply to Re: eval strings non reentrant?
by pg
in thread eval strings non reentrant?
by mutated
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |