It's poorly documented, but the goal of sticky is to preserve fields from past requests. It allows things like multi page forms. It has nothing to do with whether CGI gets the value of fields from param or not. That's controlled by override.
If you want to override everything in one go, you could use
$cgi->delete_all();
Just be sure grab what you need from param first.
Update: While trying to construct an example, I realized I was wrong.
nosticky is just plain buggy. It's behaviour is completely different than the one documented. After studying the source, I've come to the conclusion that nosticky's *only* goal is to prevent the hidden field .cgifields from being created. That field is used to help make check boxes, check box groups, radio buttons and select lists sticky. CGI never intends nosticky to prevent anything from being sticky, so it will try to make those fields sticky even if .cgifields isn't present. Anything else if sticky regardless of nosticky.
In reply to Re: CGI.pm nosticky option does not work
by ikegami
in thread CGI.pm nosticky option does not work
by robobunny
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |