Not quite sure what the question is but using strict and
warnings is a good start. The following code now at least
runs.
You seem to be mixing the object/non-object method of calling the CGI functions
#!/usr/bin/perl -w
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
#$|++;
# $CGI::POST_MAX=100;
# $CGI::DISABLE_UPLOAD=1;
my $q=new CGI;
print $q->header();
print $q->start_html(-title=>'check',-bgcolor=>"#000099",-text=>"#FF99
+33", -link=>"#FF3300",-alink=>"#FF3300",-vlink=>"#FF3300");
my %labels=('200.160.128.41'=>'HOST01',
'200.160.128.42'=>'HOST02',
'200.160.128.52'=>'HOST03',
'200.160.136.130'=>'HOST04',
'200.160.136.131'=>'HOST05',
'200.160.136.132'=>'HOST06',
'200.160.136.133'=>'HOST07',
'200.160.136.136'=>'HOST08',
'200.160.136.139'=>'HOST09',
'200.160.136.140'=>'HOST10',
'200.160.128.31'=>'HOST11',
'200.160.128.88'=>'HOST12',
'200.160.136.135'=>'HOST-GEST',
'200.160.128.62'=>'HOSTSsql04',
'200.160.128.43'=>'HOSTsql03',
) ;
print $q->start_form(-method=>'POST',-name=>'form1');
print $q->checkbox_group(-name=>'quale_server',
-values=>['200.160.128.41',
'200.160.128.42',
'200.160.128.52',
'200.160.136.130',
'200.160.136.131',
'200.160.136.132',
'200.160.136.133',
'200.160.136.136',
'200.160.136.139',
'200.160.136.140',
'200.160.128.31',
'200.160.128.88',
'200.160.136.135',
'200.160.128.62',
'200.160.128.43'],
#-default=>[keys %labels],
-linebreak=>'true',
#-size=>15,
-multiple=>'true',
-labels=>\%labels,
#-columns=>2
);
print $q->submit(-value=>'search'),$q->end_form();
print $q->br;
if (defined $q->param()){print "The keywords are: ",$q->em(join(", ",
+$q->param('quale_server')))}
##or @server=param('quale_server');
##########################################################
print $q->end_html();