in reply to CGI Debugging: always the last place you look.

I would say that you were lucky if the effect of a double submission was only a double email - are you sure that you are not doing anything else twice as well?

Although the browser is misbehaving you should take double submissions into account and code to protect against them. After all if the page is taking a long time to load the user may hit it again. In my app I have something like this:

# in cgi: (have loaded the correct order into $order) $order->submit; # in order module. sub submit { my $self = shift; return 1 if $self->submitted; ... }

This means that it is not possible to submit the order twice. Also all post submit actions are dealt with in the module, such as sending email confirmations.

--tidiness is the memory loss of environmental mnemonics