in reply to Whats wrong with this code.
Maybe you are being bitten by CGI's sticky fields. (Do you have a param named MODE?) Try
print $cgi->hidden(-name=>'MODE', -value=>'new', -override=>1); [download]