use Exporter;
our @ISA = qw( Exporter );
-our @EXPORT = qw( fatal_error error hint debug msg
- print_errors print_hints print_debug print_msgs );
+our @EXPORT = qw( fatal_error error hint debug msg note
+ print_errors print_hints print_debug print_msgs
+ print_notes DEBUG );
+# define this to 0 in production mode
+use constant DEBUG => 1;
our $debug = 0;
-our (@fatal_errors, @errors, @debug, @msgs, @hints);
+our (@fatal_errors, @errors, @debug, @msgs, @hints, @notes);
sub reset {
- @fatal_errors = @errors = @debug = @msgs = @hints = ();
+ @fatal_errors = @errors = @debug = @msgs = @hints = @notes = ();
}
sub fatal_error {
sub msg {
push @msgs, $_[0];
}
+sub note {
+ push @notes, [ @_ ];
+}
sub print_errors {
return unless @fatal_errors || @errors;
- print '<div style="background-color:#F99;font-weight:bold;padding:0.5em;margin:0;">';
+ print '<div class="perror">';
foreach ((@fatal_errors, @errors)) {
print "<p>ERROR: $_</p>";
}
}
sub print_debug {
return unless $debug && @debug;
- print '<div style="font-size:80%;border:solid thin grey">';
+ print '<div class="pdebug">';
print '<h2>Debugging:</h2><pre>';
foreach (@debug) {
print "$_\n";
}
print '</pre></div>';
-
}
sub print_hints {
return unless @hints;
- print '<div>';
+ print '<div class="phints">';
foreach (@hints) {
- print "<p style=\"background-color:#FF9;padding:0.5em;margin:0\">$_</p>";
+ print "<p>$_</p>";
}
print '</div>';
}
sub print_msgs {
+ print '<div class="pmsgs">';
foreach (@msgs) {
print "<p>$_</p>";
}
+ print '</div>';
+}
+sub print_notes {
+ foreach (@notes) {
+ my ( $title, $note ) = @$_;
+
+ print '<div class="pnotes">';
+ if ($note) {
+ print "<h2>$title</h2>";
+ } else {
+ $note = $title;
+ }
+ print "<p>$note</p></div>";
+ }
}
1;