Mike Martin wrote: : I am trying not to go this route because I want to keep the : subsidiary files as self-contained as possible : : There are four files at present which are around 600 lines, : which I think is a sensible size. These all do a specific job : which can be linked together. : : It would be nice to be able to distribute together or separate
I see. You could use a system call to the dispatch the scripts from the first form. User and password could be sent on the command line. #!/usr/bin/perl -T use strict; use warnings; use CGI::Carp 'fatalsToBrowser'; use CGI qw( header param :html :form ); if ( param('tasks') ) { dispatch(); } else { print task_form(); } sub dispatch { my %tasks = ( calendar => '', contacts => '/cgi-bin/contacts.pl', correspond => '', filing => '', file_manage => '/cgi-bin/finance.pl', finance => '', telephone => '', timesheets => '/cgi-bin/timesheet.pl', ); # Dispatch to script. *Not Tested* foreach my $task ( param('tasks') ) { next unless $tasks{$task}; system( $tasks{$task}, param('user'), param('pass'), ); } } sub task_form { my %tasks = ( calendar => 'Calendars', contacts => 'Contacts', correspond => 'Correspondence', filing => 'Filing', file_manage => 'File Management', finance => 'Finance', telephone => 'Telephone Logging', timesheets => 'Timesheets', ); return header(), start_html( -style => '/proj.css' ), start_multipart_form(), 'user', br(), textfield( -name => 'user', -size => 15, ), br(), 'password', br(), password_field( -name => 'pass' ), br(), br(), 'Choose a task', br(), scrolling_list( -name => 'tasks', -values => [ sort keys %tasks ], -labels => \%tasks, -multiple => 'true', ), span( { -class => 'place_cmd' }, submit( -name => 'act', -value => 'Chooser', ) ), br(), end_form(), end_html(); } __END__ HTH, Charles K. Clarkson -- Mobile Homes Specialist Free Market Advocate Web Programmer 254 968-8328 Don't tread on my bandwidth. Trim your posts. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>