KCatch.pm - Catch warn and die to avoid ``Internal Server Error''
use KCatch;
print "Content-Type: text/html\n\n";
warn;
die;
1ST STEP) Upload KCatch.pm to your script's directory or to @INC.
2ND STEP) Insert just a line "use KCatch;" at top of your script.
3RD STEP) This module could not work without the bug you made! :-)
use KCatch qw( [OPTIONS] );
KCatch.pm would automatically detect whether running under CGI or not, when no options given. Available options are following:
use KCatch qw( plain ); # Original style
use KCatch qw( mode=plain ); # New style
Force to make output as plain text for command-line use.
use KCatch qw( html ); # Original style
use KCatch qw( mode=html ); # New style
Force to make output as HTML for CGI.
use KCatch qw( source );
Display also warned or died Perl source code for debugging. (Note: The options could make influence on some security problems to display your code for the users.)
use KCatch qw( stderr );
Output additional information of CGI to STDERR. Usually, it would be saved to ``/usr/local/apache/logs/error_log''.
use KCatch qw( execdata );__DATA__
Execute code after token ``__DATA__'' in the file which calls KCatch. You should put the token ``__DATA__'' just next to call KCatch. This option is VERY STRONG to force to catch almost the all errors, and becomes the Savior in case your-annoying-bugs never disappears!
use KCatch qw( jcode=sjis );
use KCatch qw( jcode=euc );
use KCatch qw( jcode=jis );
Convert the charactor-code-set of the error infomations for Japanese. This option make work when ``jcode.pl'' is already required. Or Jcode=* option is also available with ``Jcode.pm''.
1999/11/05 v1.02 First Release
1999/11/23 v1.03 Recognize between under "use" and "require"
2000/04/25 v1.04 Bug fix: undefined $ENV{GATEWAY_INTERFACE}
2000/05/03 v1.05 Add options "use KCatch qw( source );", etc.
2000/05/05 v1.06 Bug fix: undefined $ENV{REQUEST_URI}
2000/08/04 v1.07 Output additional information to STDERR
2000/10/27 v1.08 No use of uninitialized values
2000/12/09 v1.10 the Savior option qw( execdata ) avaliable!
output templete separated, jcode=* supported
2000/12/16 v1.11 Bug fix: get_caller() with execdata option
2002/06/29 v1.12 Bug fix: enable html_filter() at html mode.
2002/07/01 v1.13 Bug fix: Use of uninitialized value
http://www.kawa.net/works/perl/catch/news.html
http://www.harukaze.net/~mishima/perl/cgi-debug-env/deb-tech.html
http://www.we-box.com/800weblec/ise.html
Yukitoshi Ooie <yukitos@psycrosis.homeip.net>
Copyright 1999-2002 Kawasaki Yusuke <u-suke [at] kawa.net>