John Drago


Apache2::ASP - ASP for Perl, reloaded. (DEPRECATED use ASP4 instead)


DEPRECATED: Use ASP4 instead.

Hello World

  <body><%= "Hello, World!" %></body>

Favorite Color

    if( $Form->{favorite_color} )
    Your favorite color is <%= $Server->HTMLEncode( $Form->{favorite_color} ) %>.
    What is your favorite color?
      <input type="text" name="favorite_color">
      <input type="submit" value="Submit">
    }# end if()


Apache2::ASP scales out well and has brought the ASP programming model to Perl in a new way.

This rewrite had a few major goals:

  • Master Pages

    Like ASP.Net has, including nested Master Pages.

  • Partial-page caching

    Like ASP.Net has.

  • Better configuration

    The original config format was unsatisfactory.

  • Handle multiple VirtualHosts better.

    Configuration was the root of this problem.

    NOTE: If you use an ORM, make sure your ORM doesn't have any "global" configuration object in memory, unless it is schema-aware. DBIx::Class is good and Class::DBI::Lite also works well with Apache2::ASP. Do not use Class::DBI with Apache2::ASP because of configuration overlap problems which arise when you have 2 tables with the same name in 2 different databases.

  • Better performance

    Server resources were being wasted on unnecessary activities like storing session state even when it had not changed, etc.


It's possible that some bugs have found their way into this release.

Use RT to submit bug reports.


Please visit the Apache2::ASP homepage at to see examples of Apache2::ASP in action.


John Drago <>


Copyright 2008 John Drago. All rights reserved.


This software is Free software and is licensed under the same terms as perl itself.