$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 <!--#include file="filename"--> 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.
<!-- sample here -->
<html>
<body>
<% for(1..10) { %>
counting: <%=$_%> <br>
<% } %>
</body>
</html>
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.