Stopping double clicking with Perl CGI

James Laver james.laver at
Thu May 22 14:46:42 BST 2008

Depending on the situation you could even just do a check for  
duplicate content.

vBulletin (yes, I'm aware it is written in PHP and that it's not worth  
the money) does this. When you post, it checks the database for  
something with the same body text within the previous 5 minutes.

This is something you might consider looking into if it's the  
appropriate solution for your project.


On 22 May 2008, at 14:23, Chris Jack wrote:

> Thank for all the replies. My opinion of CGI has gone down as a  
> result of the various discussions... As I understand it, and correct  
> me if I'm wrong on any of this:
> 1) If I disable the push button then run another perl script to  
> process my results -> if I then push the back button the push button  
> is still disabled on the first screen as I cannot pick up that the  
> back button has been pressed. Hitting refresh would fix this - but I  
> think that sort of user intervention is very bad.
> 2) If I disable the push button, then run another perl script, I  
> cannot put a timer on to re-enable it on the initial screen.
> 3) If I disable the push button for 1 second then re-enable it then  
> run another perl script - not only have I wasted a second of each  
> user's life, it's still not safe because they can click on the push  
> button after that second has elapsed.
> IMO, all of these are actually worse for my application than  
> allowing double clicks.
> So I'm thinking that I could do 1 - but have a push button on the  
> next screen to go back to the first screen. Still not what I would  
> describe as good.
> Oh - and given that this seems like a pretty fundamental sort of  
> issue, I am disappointed that my CGI Programming with Perl doesn't  
> even mention it, let alone suggest a robust solution. I am suddenly  
> a lot clearer on why my online Barclays bank account prohibits  
> hitting back.
> Chris
> _________________________________________________________________

More information about the mailing list