]> Dogcows Code - chaz/p5-CGI-Ex/blobdiff - lib/CGI/Ex/Dump.pm
CGI::Ex 2.00
[chaz/p5-CGI-Ex] / lib / CGI / Ex / Dump.pm
index fd762913ed77fa99b799c7dac29d12d1f247f314..c8863246117e302fdb4e7029217bd9ede3337e26 100644 (file)
@@ -1,21 +1,26 @@
 package CGI::Ex::Dump;
 
-### CGI Extended Data::Dumper Extension
+=head1 NAME
+
+CGI::Ex::Dump - A debug utility
+
+=cut
 
 ###----------------------------------------------------------------###
-#  Copyright 2004 - Paul Seamons                                     #
+#  Copyright 2006 - Paul Seamons                                     #
 #  Distributed under the Perl Artistic License without warranty      #
 ###----------------------------------------------------------------###
 
-### See perldoc at bottom
-
-use vars qw(@ISA @EXPORT @EXPORT_OK $ON $SUB $QR1 $QR2 $full_filename);
+use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION
+            $CALL_LEVEL
+            $ON $SUB $QR1 $QR2 $full_filename);
 use strict;
 use Exporter;
 
+$VERSION   = '2.00';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(dex dex_warn dex_text dex_html ctrace dex_trace);
-@EXPORT_OK = qw(dex dex_warn dex_text dex_html ctrace dex_trace debug what_is_this);
+@EXPORT_OK = qw(dex dex_warn dex_text dex_html ctrace dex_trace debug);
 
 ### is on or off
 sub on  { $ON = 1 };
@@ -50,11 +55,10 @@ BEGIN {
 
 ### same as dumper but with more descriptive output and auto-formatting
 ### for cgi output
-sub what_is_this {
+sub _what_is_this {
   return if ! $ON;
   ### figure out which sub we called
-  my ($pkg, $file, $line_n, $called) = caller(0);
-  ($pkg, $file, $line_n, $called) = caller(1) if $pkg eq __PACKAGE__;
+  my ($pkg, $file, $line_n, $called) = caller(1 + ($CALL_LEVEL || 0));
   substr($called, 0, length(__PACKAGE__) + 2, '');
 
   ### get the actual line
@@ -92,27 +96,27 @@ sub what_is_this {
     elsif ($called eq 'dex_warn') { warn  $txt  }
     else                          { print $txt  }
   } else {
-    my $html = "<pre><b>$called: $file line $line_n</b>\n";
+    my $html = "<pre class=debug><span class=debughead><b>$called: $file line $line_n</b></span>\n";
     for (0 .. $#dump) {
       $dump[$_] =~ s/\\n/\n/g;
       $dump[$_] = _html_quote($dump[$_]);
-      $dump[$_] =~ s|\$VAR1|<b>$var[$_]</b>|g;
+      $dump[$_] =~ s|\$VAR1|<span class=debugvar><b>$var[$_]</b></span>|g;
       $html .= $dump[$_];
     }
     $html .= "</pre>\n";
     return $html if $called eq 'dex_html';
     require CGI::Ex;
-    &CGI::Ex::print_content_type();
+    CGI::Ex::print_content_type();
     print $html;
   }
 }
 
 ### some aliases
-sub debug    { &what_is_this }
-sub dex      { &what_is_this }
-sub dex_warn { &what_is_this }
-sub dex_text { &what_is_this }
-sub dex_html { &what_is_this }
+sub debug    { &_what_is_this }
+sub dex      { &_what_is_this }
+sub dex_warn { &_what_is_this }
+sub dex_text { &_what_is_this }
+sub dex_html { &_what_is_this }
 
 sub _html_quote {
   my $value = shift;
@@ -135,7 +139,7 @@ sub ctrace {
   my $max1 = 0;
   my $max2 = 0;
   my $max3 = 0;
-  while (my %i = &Carp::caller_info(++$i)) {
+  while (my %i = Carp::caller_info(++$i)) {
     $i{sub_name} =~ s/\((.*)\)$//;
     $i{args} = $i{has_args} ? $1 : "";
     $i{sub_name} =~ s/^.*?([^:]+)$/$1/;
@@ -153,7 +157,7 @@ sub ctrace {
 }
 
 sub dex_trace {
-  &what_is_this(ctrace(1));
+  _what_is_this(ctrace(1));
 }
 
 ###----------------------------------------------------------------###
@@ -162,10 +166,6 @@ sub dex_trace {
 
 __END__
 
-=head1 NAME
-
-CGI::Ex::Dump - A debug utility
-
 =head1 SYNOPSIS
 
   use CGI::Ex::Dump; # auto imports dex, dex_warn, dex_text and others
This page took 0.021754 seconds and 4 git commands to generate.