An IRC conversation with Gozer that helped me understand more about it

<phred> multiple interpreter instances in the same process - http://perl.apache.org/docs/2.0/user/intro/overview.html
<gozer> phred: theory: yup, pretty much
<gozer> basically wraps up all interpreter state in a single interpreter structure
<gozer> (as opposed to a bazillion globals)
<gozer> so you can create 2 perl interpretersi n a single process
<gozer> also does make tracking down leaks and stuff easier
<phred> what good are two interpreters in one process?
<phred> you're saying they both would 'point' to the same data structure instead of multiple globals?
<gozer> phred: nope
<gozer> interp1 = new interp
<gozer> interp2 = new interp
<gozer> interp1.eval("use DBI 1.99;")
<phred> whoa nice
<gozer> interp2.eval("use DBI 1.23;")
<gozer> (all pseudo code)
<phred> that would be a hosting super feature
<gozer> that is all interpreter pools are implemented in threaded mpms
<gozer> phred: yup
<gozer> and you can do things like
<gozer> interp3 = interp2.clone()
<phred> thanks for the explanation