in reply to Monk Ladder

Smart! Your clear statement of design aims (and the K.I.S.S. attitude to implementing them) are something to copy.

HTML::Template is a bit of an obsession with me at present, because I just learnt to use it and it's saved me a lot of hassle. Maybe I over-rate it, but if you haven't looked at it, I'd recommend it as an easily learnt way to mass-produce chunks like
print << "END_OF_MENU"; <br> <table border="0"> <tr> <td><a href="/cgi-bin/signup.pl">Sign Up</a></td> <td><a href="/cgi-bin/standings.pl">Standings</a></td> <td><a href="/cgi-bin/loss.pl">Report Loss</a></td> </tr> </table> END_OF_MENU
Wd also let you make centralised edits of, e.g. file path.

§ George Sherston