> Oddly, that's not quite what is happening. The content isn't lost
> altogether, else the simple join() I include wouldn't work either.
>
> Moreover, even if I re-initialize the data passed into my printTemplate()
> routine, the second call is still using some of the old data.
>
ok, next try. Because of your new Safe, the package name will change for
every time you call Execute. This couldn't work also, because the Embperl
page is compiled to work in the package you pass on the first request. When
you change the name of the package in the second call the whole page will
use the package given in the first call, because this package name is
contained in the compiled perl code. There are a few exceptions. One of this
is foreach, it use the package name you give to Execute, but now this
package name doesn't match the compiled in package name!
So the solution to your problem should be, to use a fixed package name for
all calls to the _same_ page.
Gerald