That's a good idea. I know the chosen variables aren't clean. The problem was indeed that all those lists used to be just one big list (with an extra hash pair per element pointing out the type), but the simple template syntax of HTML::Template required a boolean variable (I use each individual list) to test for whether or not to include the specific html block when the list is empty.
It's either this or introducing an extra boolean for each type of files. Or trying a different template module, perhaps.
Ofcourse, I stupidly forgot that I can play a bit with the arguments to the template's function call, to just pass on the list, if I do it this way.
edit: corrected myself