#!/usr/local/bin/perl56 -wT #A package that contains a generic error routine, and will catch and send errors to the browser. #noexec package CGIBook::Error; use Exporter; @ISA = "Exporter"; @EXPORT = qw( error error_cgi ); use strict; use CGI qw( -unique_headers :standard ); use CGI::Carp qw( fatalsToBrowser ); BEGIN { sub carp_error { my $error_message = shift; error_body ($error_message); } CGI::Carp::set_message( \&carp_error ); } sub error { my($error_message, $partial) = @_; unless ($partial) { print "Content-type:text/html\n\n"; } error_body($error_message); } sub error_cgi { my($q, $error_message, $partial) = @_; unless ($partial) { print "Content-type:text/html\n\n"; } error_body($error_message); } sub error_body { my($error_message ) = @_; print start_html(-title => "Error: $error_message", -bgcolor => "lightblue"); print <Error
Sorry, the following error has occurred:
$error_message