1. nie obiektCGI tylko $obiektCGI
2. robisz z kodu straszne spaghetti - popatrz co daje perltidy (kawalek dalej)
3. regex do sprawdzania maila nie bedzie /[a-zA-Z\-]+\@[a-zA-Z\-]+\.[a-zA-Z\-]+/ tylko /^[\w\-\.]+\@[\w\-]\.[\w\-\.]+$/ - lewa strona moze zawierac znak kropki (choc RFC o twierdzi ze nie to wiele osob ma takie maile) domena musi skladac sie z 2 czesci minimum (lub wiecej) dlatego dalem w drugiej czesci kropke... no i ^ oraz $ jako domkniecia... ostatni w sumie koncowke mozna zapisac jako \.[\w\-]+/ i tez bedzie ok...
4. Sugerowalbym korzystaz z modulu Email::Valid - tam calosc zostala swietnie rozpracowana... bo co zrobi Twoj regex gdy podam 2 maile w polu? Stwierdzi ze ok... albo moge wstawic cos co rozwali email ale skrypt to przelknie.
P.S.
Wyjscie z perltidy wyglada mniej wiecej tak (przykladowy fragment):
Kod:
sub bladDanych() {
chop($blednePola);
print $obiektCGI->start_html(
-TITLE => "Problem z rejestracja",
-BGCOLOR => "white"
);
print $obiektCGI->h2("Nastepujace Pola zle:<BR>");
print $obiektCGI->h3("$blednePola<BR>");
print "Wróc i popraw";
print $obiektCGI->end_html();
}