![]() |
|
Syntactic Confectionery Delight | |
PerlMonks |
Re: Planning for Backwards Compatibilityby snowhare (Friar) |
on Aug 24, 2007 at 01:08 UTC ( #634765=note: print w/replies, xml ) | Need Help?? |
You left out another approach: Keep the default as is but add a 'opt in' method for the new API. This has happened to me a couple of times with CGI::Minimal. The first time was when I needed to support 'mixed' GET/POST semantics (processing GET style CGI parameters and POST style CGI parameters in a single POST request). Which is wierd and non-RFC, but required to integrate with some specific code I didn't have control over. Changing the default would likely break code for someone (probably me ;) ), so I added a static method, CGI::Minimal::allow_hybrid_post_get(1);, that let the programmer request the new semantics. A few days ago someone requested a change to CGI::Minimal's behavior when running under ModPerl2. By default, they ran their server with %ENV hash filling with the CGI environment variables disabled (which give a small performance boost) while CGI::Minimal, by default, forces filling %ENV (which is the case I personally need). Changing the default would definitely break existing code. But I could see the utility of his request (although my benchmarking puts the performance pop only in the single digit percentages). So I added a 'use' flag (:no_subprocess_env) to request the API behavior he wanted.
In Section
Meditations
|
|