#!/usr/bin/perl use CGI; $query = new CGI; $topic_directory = "topics"; if($query->param('topic')){ $topic = $query->param('topic'); &file_error unless (&open_topic); &format_error unless (&parse_topic); &print_page_start; &print_topic; &print_response_form; print "

Return to the Topic list.

\n"; &print_page_end; } else{ &page_title = "Topic Index"; &print_page_start; &print_topic_index; &print_page_end; } sub print_page_start{ print $query->header; sub print_topic_index{ eval{ opendir(TOPICS, "$topic_directory") or die "Can't open $topic_directory"; @topics = grep (/^.+\.txt$/, readdir (TOPICS)); foreach $topic (@topics){ $topic =~ s/(.+)\.txt/$1/; &open_topic; &parse_topic; print ""; print "$page_title, $topic_author
\n"; } }; } ........ .......# The following code contains the form that holds the variable contents for $topic The problem that I am having is I do not understand how the topic parameter in the form is passed a topic ID when it is a hidden field? The code for the form creation is below: sub print_response_form{ print "
\n"; print "\n"; print "\n"; print "Author: "; print "
\n"; print "Message body:
\n"; print "