Файл конфигураций можно подключать так:
require "conf";
в sub getFORM замени на это, работать лучше будет
------------------------------------------------
read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$name =~ s///g;
$name =~ s/<([^>]|\\n)*>//g;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
$value =~ s/<([^>]|\\n)*>//g;
$FORM{$name} = $value;}
$act = $FORM{act};
------------------------------------------------
Она у тебя кроме
Internal Server Error что-нибудь покзывала?
Попробй писать каждый \'sub\' отдельно, а после проверки включать его в основной код.