in reply to Bad practice or duct-tape hack?

I didn’t read your posting closely, I must admit ... but in general my thought on this matter is that config-files and so forth are probably not required.   There probably are only a small handful of actual differences that are actually required.   And this just might be the perfect case for “wrappers.”   In general, my prevailing thought is that Perl code should not have to embody any sort of “knowledge” about what the exact HTML sequence to be issued may require.   It simply ought to be free to point to one-of-a-handful of “canned” use-cases, without having to be very specific about any of them.   The templating structure does the rest.   Thus, if any changes in the future are necessary (as, inevitably, they will be...) the Perl code does not need to be changed in the slightest.   The Perl code only has to designate, “Door #1, Door #2, or Door #3.”   It does not have to bother itself with exactly what is behind them, so, as the contents of those Doors inevitably changes, the Perl code does not require any change whatsoever.

(Hey, if a measly change in the file-name of the JQuery library, say, obliged me to make terrifying changes to a bunch of Perl modules, heck, I just might go after you with a wet noodle!)