Ah, it seems I misunderstood your question as well. In that case, consider not using a HASH, but a PACKAGE instead, and just change the values you want to change in the package vars, keeping the previous ones the same. Text::Template itself has no memory function. Alternatively, you could re-use the same HASH each time, and just change the variables that are different..