You might also want to read up on the CGI::Application module, available from CPAN. Instead of each page corresponding to a section of an ever-growing (and harder
to maintain) if-then-else block, you create a subroutine
for each page (called a 'run mode'). All the subroutines
go into a module, and your cgi-script reduces to about 3 lines of code: load module, create instance, run application!
If your starting a new project from scratch, it's definitely worth checking out. It could save you lots of time and energy down the road.