in reply to Namespace variable gathering

Yes, all packages have a hash for their symbol table. The keys are symbol names and the values are typeglobs. There are many ways to use the symbol table to get a list of names and scalar values. Here's one - it calls $template->param() with the names and values in the package "Values":
{ no strict 'refs'; $template->param(map { $_ => ${"Values::$_"} } keys %Values::); }

-sam