in reply to Tabbed html interfaces using perl??

It sounds like you don't quite know how to maintain state yet. Here is a very basic example for you that uses a dispatch table of sorts. The actions are typically references to functions so that the script does different stuff for each action.

#!/usr/bin/perl -w use strict; use CGI; my $q = new CGI; print $q->header; my $script = '/cgi-bin/tabs.pl'; my %actions = ( tab1 => 'This is tab 1', tab2 => 'This is tab 2', tab3 => 'This is tab 3', summary => 'Summary', search => 'Search page', ); my @tab_order = qw ( search tab1 tab2 tab3 summary ); my $action = $q->param('action') || 'search'; $action = 'search' unless exists $actions{$action}; display($action); exit 0; sub display { my $action = shift; my @tabs = map{ $action eq $_ ? "[$action]" : make_link($_) } @tab +_order; my $html = "<p>@tabs<hr><p>$actions{$action}"; print $html; } sub make_link { qq!<a href="$script?action=$_[0]">$_[0]</a>! }

cheers

tachyon