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>