On Thursday, January 30, 2003, at 03:59 PM, Puneet Kishor wrote:
People have talked about making a few SDK-like packages for perl, so that stock perl could remain (or become) relatively small, and people could download a web-SDK, or a graphics-SDK, or whatever. In fact, all this would really take is someone with some credibility to release and maintain a Bundle on CPAN.
You know, I would love to find out the break-out figures on how much of the community uses Perl for web vs. other tasks. If web use for Perl is (now) more than other use, it would make sense to start building web friendly stuff in stock perl, beyond CGI.pm, that is. Or maybe there could be made a special-for-web edition of Perl complete with state mgt., caching, mod_perl kinda things, etc., and in a really easy to install and configure package. That would prevent new-comers like PHP from eating in Perl's share.
Because POST args are only sent during a POST. This would preclude the possibility of having things like hyperlinks (which by their nature are GET). I don't think I would like visiting a site that made me click on form buttons everywhere rather than regular links. =)On Thursday, January 30, 2003, at 01:30 PM, Ken Williams wrote:So, uh, where do you propose to put the state information? Since HTTP is stateless, you'll need to put at least a session key in either the URL or a cookie, or submit it as a POST argument with every request (hint: DON'T do that), or something. Otherwise it's not possible.Sorry, my bad. I should not have stated that the way I did. Of course I would have to do that (but why do you say "DON'T do that" for session key as a POST arg?).
Unless, there was some way to manage all that on the server side. See, I got introduced to web programming via Cold Fusion. Session management on CF is exemplary. You simply say something likeYeah, but behind the scenes it's still setting a cookie, or an URL parameter, or using something like HTTPS, in order to maintain the state.
<cflock timeout = "timeout in seconds "
scope = "Application" or "Server" or "Session"
name = "lockname"
throwOnTimeout = "Yes" or "No"
type = "readOnly/Exclusive ">
<cfset Session.foo = "Puneet">
<cfset Session.bar = "Kishor">
<cfset Session.baz = "punkish">
</cflock>
and bingo, my session (or app or server) vars are set.
I took your aversion to these things as a statement that you didn't want to make the client use cookies (or URL parameters or HTTPS), but if you just mean that *you* don't want to have to micro-manage the process, there are loads of ways to manage that in perl. Let me know if that's what you mean, I may have some suggestions.
No keys for *you* to worry about as a developer, but the keys are still certainly being passed around.Then, when I want to use the vars, I just say<cfoutput>Hi #Session.foo#, your username is #Session.baz#</cfoutput> No session keys to pass around. Works really well.
-Ken