$VERSION = .05 + = improvement; - = bug fix + Added PERFORMANCE doc, which includes benchmarks + hints. + Better installation warnings and errors for other modules required. - Turned off StatINC in eg/.htaccess, as not everyone installs Devel::Symdump - Fixed AUTOLOAD state bug, which wouldn't let you each through state objects, like %{$Session}, or each %$Session, (bug introduced in v.04) + Parses ASP white space better. HTML output matches author's intent by better dealing with white space surrounding <% perl blocks %> - Scalar insertion code <%=$foo%> can now span many lines. + Added include.t test script for includes. + Script recompiles when included files change. + Files can be included in script with SSI syntax, needs to be done in ASP module to allow compilation of included code and html into script. Future chaining with Apache::SSI will allow static html includes, and other SSI directives $VERSION = .04; + Example script eg/cgi.htm demonstrating CGI.pm use for output. + Optimized ASP parsing, faster and more legible executing code : try 'die();' in code with setting PerlSetVar Debug 2 + Cleaned up code for running with 'use strict' - Fixed directory handle leak on Solaris, from not closing after opendir() + StatINC overhaul. StatINC setting now works as it should, with the caveat that exported functions will not be refreshed. + NoState setting optimization, disallows $Application & $Session + $Application->*Lock() functions implemented - SoftRedirect setting for those who want scripts to keep running after a Redirect() + SessionSerialize setting to lock session while script is running : Microsoft ASP style session locking : For a session, scripts execute one at a time : NOT recommended use, please see note. - MLDBM can be used for other things without messing up internal use : before if it was used with different DB's and serializers, internal state could be lost. -- State file locking. Corruption worries, and loss of data no more. + CGI header support, developer can use CGI.pm for *output*, or just print() : print "Set-Cookie: test=cookie\n", and things will just work : use CGI.pm for output : utilizes $r->send_cgi_header(), thanks Doug! + Improved Cookie implementation, more flexible and complete - Domain cookie key now works : Expire times now taken from time(), and relative time in sec : Request->Cookies() reading more flexible, with wantarray() on hash cookie values, %hash = $Request->Cookie('test'); - make test module naming correction, was t.pm, now T.pm for Unix + POD / README cleanup, formatting and HTML friendly. $VERSION = .03; + Installation 'make test' now works + ActiveX objects on Win32 implemented with $Server->CreateObject() + Cookies implemented: $Response->Cookies() & $Request->Cookies() - Fixed $Response object API, converting some methods to object members. Deprecated methods, but backwards compatible. + Improved error messaging, debug output + $, influences $Response->Write(@strings) behavior + perl print() works, sending output to $Response object + $Response->Write() prints scalars, arrays, and hashes. Before only scalars. + Begin implementation of $Server object. + Implemented $Response->{Expires} and $Response->{ExpiresAbsolute} + Added "PerlSetVar StatINC" config option + $0 is aliased to current script filename + ASP Objects ($Response, etc.) are set in main package Thus notation like $main::Response->Write() can be used anywhere. $VERSION = .02; ++ Session Manager, won't break under denial of service attack + Fleshed out $Response, $Session objects, almost full implementation. + Enormously more documentation. - Fixed error handling with Debug = 2. - Documentation fixed for pod2man support. README now more man-like. - Stripped \r\n dos characters from installation files - 755 mode set for session state directory when created - Loads Win32/OLE properly, won't break with UNIX $VERSION = .01; Syntax Support -------------- Intial realease, could be considered alpha software. Allows developers to embed perl in html ASP style. <% for(1..10) { %> counting: <%=$_%>
<% } %> ASP Objects ----------- $Session, $Application, $Response, $Request objects available for use in asp pages. $Session & $Application data is preserved using SDBM files. $Session id's are tracked through the use of cookies. Security -------- Timeouts any attempt to use a session id that doesn't already exist. Should stop hackers, since there is no wire speed guessing cookies.