X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-CGI-Ex;a=blobdiff_plain;f=lib%2FCGI%2FEx%2FDump.pm;h=fd6360bea6469d0b78f13eddb270817f3d836bb9;hp=d93a8caf0280ff8395d9ee8141a1590ba55af8cd;hb=6c57b3331d84010b9e2031f8e3c8937c3117e8fc;hpb=a8620142ba0dcda3f0c5f102f791df944ed2245e diff --git a/lib/CGI/Ex/Dump.pm b/lib/CGI/Ex/Dump.pm index d93a8ca..fd6360b 100644 --- a/lib/CGI/Ex/Dump.pm +++ b/lib/CGI/Ex/Dump.pm @@ -7,17 +7,17 @@ CGI::Ex::Dump - A debug utility =cut ###----------------------------------------------------------------### -# Copyright 2006 - Paul Seamons # +# Copyright 2007 - Paul Seamons # # Distributed under the Perl Artistic License without warranty # ###----------------------------------------------------------------### use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION $CALL_LEVEL - $ON $SUB $QR1 $QR2 $full_filename); + $ON $SUB $QR1 $QR2 $full_filename $DEPARSE); use strict; use Exporter; -$VERSION = '2.01'; +$VERSION = '2.11'; @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); @@ -25,22 +25,22 @@ $VERSION = '2.01'; ### is on or off sub on { $ON = 1 }; sub off { $ON = 0; } -&on(); -sub set_deparse { - $Data::Dumper::Deparse = eval {require B::Deparse}; -} +sub set_deparse { $DEPARSE = 1 } ###----------------------------------------------------------------### BEGIN { - ### setup the Data::Dumper usage - $Data::Dumper::Sortkeys = 1 if ! defined $Data::Dumper::Sortkeys; # not avail pre 5.8 - $Data::Dumper::Useqq = 1 if ! defined $Data::Dumper::Useqq; - $Data::Dumper::Quotekeys = 0 if ! defined $Data::Dumper::Quotekeys; - $Data::Dumper::Pad = ' ' if ! defined $Data::Dumper::Pad; - #$Data::Dumper::Deparse = 1 if ! defined $Data::Dumper::Deparse; # very useful + on(); + $SUB = sub { + ### setup the Data::Dumper usage + local $Data::Dumper::Deparse = $DEPARSE && eval {require B::Deparse}; + local $Data::Dumper::Pad = ' '; + local $Data::Dumper::Sortkeys = 1; + local $Data::Dumper::Useqq = 1; + local $Data::Dumper::Quotekeys = 0; + require Data::Dumper; return Data::Dumper->Dumpperl(\@_); }; @@ -76,9 +76,13 @@ sub _what_is_this { ### dump it out my @dump = map {&$SUB($_)} @_; my @var = ('$VAR') x ($#dump + 1); - if ($line =~ s/^ .*\b \Q$called\E ( \(?\s* | \s+ )//x - && $line =~ s/(?:\s+if\s+.+)? ;? \s*$//x) { - $line =~ s/ \s*\) $ //x if $1 && $1 =~ /\(/; + my $hold; + if ($line =~ s/^ .*\b \Q$called\E ( \s* \( \s* | \s+ )//x + && ($hold = $1) + && ( $line =~ s/ \s* \b if \b .* \n? $ //x + || $line =~ s/ \s* ; \s* $ //x + || $line =~ s/ \s+ $ //x)) { + $line =~ s/ \s*\) $ //x if $hold =~ /^\s*\(/; my @_var = map {/^[\"\']/ ? 'String' : $_} split (/\s*,\s*/, $line); @var = @_var if $#var == $#_var; }