# CGI-XA **Repository Path**: mirrors_gitpan/CGI-XA ## Basic Information - **Project Name**: CGI-XA - **Description**: Read-only release history for CGI-XA - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-20 - **Last Updated**: 2026-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README =head1 DESCRIPTION I have started with major hacks on top of Lincoln's version 2.23 of CGI.pm in order to get rid of both AUTOLOADING and uncontrolled global variables. I release this package as CGI::XA (which stands for "for Apache") for a limited audience as a test case. This software is alpha software and it is not clear if it will be supported for a longer time. My preferred solution would be, Lincoln accepts all the changes and continues with his excellent work. =head2 where are the main differences? No AUTOLOAD use strict clean no exports no cgi-lib.pl compatibility no "Q" namespace inlined rearrange This code is faster than Lincoln's too: Benchmark: timing 1000 iterations of cginamed, cgipos, fastnamed, fastpos... cginamed: 7 secs ( 5.84 usr 0.08 sys = 5.92 cpu) cgipos: 4 secs ( 3.48 usr 0.01 sys = 3.49 cpu) fastnamed: 3 secs ( 3.17 usr 0.01 sys = 3.18 cpu) fastpos: 3 secs ( 2.91 usr 0.01 sys = 2.92 cpu) The benchmark is done with the script in eg/bench.rearrange And with the small test script eg/rgy-cgi-pm2.pl (A CGI that runs a counter and a time and a textfield, I could run 100 loops in 12 seconds on an Indy 100 MHz, not a terrific fast machine. The script on the other end of the connection is eg/rgy-cgi-pm2.client. CGI::Switch ----------- With this very simple module you can run the identical script from your cgi-bin directory as a CGI script and from your perl alias script as a apache subroutine. See eg/rgy-cgi-pm2.pl for an example. Enjoy, Andreas, 19 Aug, 1996