in reply to using an array to propagate a CGI menu

try
-values=>\@publication_categories
instead.
this is CGI's POD. The link is to the online version located on CPAN, so it may be a different one than what you've got on your system, but perldoc cgi at a command line should present you with the appropriate documentation on your system.