X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=lib%2FPackages%2FCGI.pm;fp=lib%2FPackages%2FCGI.pm;h=e9d834cb16feffc43a17d2885e13457c7d4fb2ff;hp=0000000000000000000000000000000000000000;hb=9c048903c83d44428f638e77df45daaf076362c6;hpb=4c3125ea64a3c0c8c5c3dfab0da030fb1ff9b6d4 diff --git a/lib/Packages/CGI.pm b/lib/Packages/CGI.pm new file mode 100644 index 0000000..e9d834c --- /dev/null +++ b/lib/Packages/CGI.pm @@ -0,0 +1,64 @@ +package Packages::CGI; + +use Exporter; +our @ISA = qw( Exporter ); +our @EXPORT = qw( fatal_error error hint debug msg + print_errors print_hints print_debug print_msgs ); + +our $debug = 0; + +our (@fatal_errors, @errors, @debug, @msgs, @hints); + +sub reset { + @fatal_errors = @errors = @debug = @msgs = @hints = (); +} + +sub fatal_error { + push @fatal_errors, $_[0]; +} +sub error { + push @errors, $_[0]; +} +sub hint { + push @hints, $_[0]; +} +sub debug { + my $lvl = $_[1] || 0; + push(@debug, $_[0]) if $debug > $lvl; +} +sub msg { + push @msgs, $_[0]; +} +sub print_errors { + return unless @fatal_errors || @errors; + print '
'; + foreach ((@fatal_errors, @errors)) { + print "

ERROR: $_

"; + } + print '
'; +} +sub print_debug { + return unless $debug && @debug; + print '
'; + print '

Debugging:

';
+    foreach (@debug) {
+	print "$_\n";
+    }
+    print '
'; + +} +sub print_hints { + return unless @hints; + print '
'; + foreach (@hints) { + print "

$_

"; + } + print '
'; +} +sub print_msgs { + foreach (@msgs) { + print "

$_

"; + } +} + +1;