The Perl toolchain can take a little getting used to, because dependencies are in terms of modules, not distributions, even though it's the distributions that get installed to get the modules. This is actually the right way to do it, because this way you can still find the modules you need, even if the distributions get refactored.
It is usual to name a distribution after the chief module in it, but this is not always done. Your case is particularly confusing because the chief module is Template, but the distribution is Template-Toolkit. Not only that, but there actually is a Template::Toolkit module in the distribution, but it contains no functionality, and no version number.
In this case it seems to me the best thing to do is to depend on the modules whose functionality you are actually using. I'm pretty sure if you just say
requires "Template","3.006";
things will come out the way you want.