+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> SIGNAL HANDLERS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+use sigtrap qw( die normal-signals stack-trace any error-signals );
+
+my $WARNINGS = 0;
+
+$SIG{ '__DIE__' } = \&sig_die;
+$SIG{ '__WARN__' } = \&sig_warn;
+
+
+sub sig_die
+{
+ my ( $sig, # signal from the %SIG
+ ) = @_;
+
+ my ( @html );
+
+ push @html, &cgi_header;
+ push @html, p( txt => "ERROR: $sig" );
+
+ $WARNINGS++;
+
+ print "$_" for @html;
+}
+
+
+sub sig_warn
+{
+ my ( $sig, # signal from the %SIG
+ ) = @_;
+
+ my ( @html );
+
+ push @html, &cgi_header if $WARNINGS == 0;
+ push @html, p( txt => "WARNING: $sig" );
+
+ $WARNINGS++;
+
+ print "$_" for @html;
+}
+
+