NAME
Apache2::ASP::Manual::ASP_Compilation - Documentation about ASP Compilation
DESCRIPTION
When Apache2::ASP receives a request for an ASP script, it goes through the following steps:
- 1 Does the ASP script exist?
- 2 Was it already compiled?
- 3 Is the ASP script newer?
- 4 Recompile the ASP script if necessary.
- 5 Load up the *.pm file.
- 6 Execute the *.pm file.
ASP Scripts are "compiled" into Perl modules that look like the following:
#==============================================================================
# THIS FILE WAS AUTOMATICALLY GENERATED BY Apache2::ASP::PageHandler.
# TIMESTAMP: Thu Jun 28 23:18:17 2007
# CHANGES TO THIS FILE WILL BE OVERWRITTEN WHEN THE ASP SCRIPT IS CHANGED
#==============================================================================
package DefaultApp::index_asp;
use strict;
use warnings 'all';
no warnings 'redefine';
use base 'Apache2::ASP::PageHandler';
use vars qw(
$Session $Server
$Request $Response
$Form $Application
$Config
);
our $TIMESTAMP = 1183094297;
#line 1
sub process_request { $Response->Write(q~~);
$Response->Write("Hello, World!");
return;
;$Response->Write(q~
~);
}
1;# return true:
=pod
=head2 process_request( )
=cut
Yes, you guessed it. This one prints "Hello, World!" to the browser.
FILE NAMES
If your ASP script is /index.asp
then your *.pm file will be index_asp.pm
.
If your ASP script is /members/bob/bio.asp
then your *.pm file will be members_bob_bio_asp.pm
.
And so on.
WHAT IS THE POINT?
ASP scripts are compiled to Perl modules and stored on disk for 2 reasons:
Performance
Even though the ASP parser is quite fast (Apache2::ASP::Parser) it is still extra work that can be avoided.
By storing the resulting output on disk we can reduce some overhead and get a slight performance boost.
Testing
Yes - you can test your ASP scripts using Devel::Cover just like any other Perl module.
You can learn more about this by reading up on Apache2::ASP::Test::UserAgent.
Please read the Testing Intro at http://apache2-asp.no-ip.org/how-to/website-code-coverage-testing.asp to see how testing works.
BUGS
It's possible that some bugs have found their way into this release.
Use RT http://rt.cpan.org/NoAuth/Bugs.html?Dist=Apache2-ASP to submit bug reports.
HOMEPAGE
Please visit the Apache2::ASP homepage at http://www.devstack.com/ to see examples of Apache2::ASP in action.
AUTHOR
John Drago mailto:jdrago_999@yahoo.com
COPYRIGHT AND LICENSE
Copyright 2007 John Drago, All rights reserved.
This software is free software. It may be used and distributed under the same terms as Perl itself.