in reply to how to move to new page on successful login
That's because you've all ready printed html.
Try something like this:
my $q = CGI->new(); if( $q->param() ) { # call validate routine } else { # call display login routine } [download]