]> git.donarmstrong.com Git - infobot.git/blob - src/Modules/DumpVars2.pl
* Accidentally left in a debug output
[infobot.git] / src / Modules / DumpVars2.pl
1 #
2 #  DumpVars2.pl: Perl variables dumper ][.
3 #    Maintained: dms
4 #       Version: v0.1 (20020329)
5 #       Created: 20020329
6 #
7
8 # use strict;   # TODO
9
10 use Devel::Symdump;
11
12 sub symdumplog {
13     my ($line) = @_;
14
15     if ( fileno SYMDUMP ) {
16         print SYMDUMP $line . "\n";
17     }
18     else {
19         &status( "SD: " . $line );
20     }
21 }
22
23 sub symdumpAll {
24     my $o = Devel::Symdump->rnew();
25
26     # scalars.
27     foreach ( $o->scalars ) {
28
29         #       &symdumpRecur($_);
30         symdumplog("  scalar($_)");
31     }
32 }
33
34 sub symdumpRecur {
35     my $x = shift;
36
37     if ( ref $x eq 'HASH' ) {
38         foreach ( keys %$x ) {
39             &symdumpRecur($_);
40         }
41     }
42     else {
43         symdumplog("unknown: $x");
44     }
45 }
46
47 sub symdumpAllFile {
48     &DEBUG('before open');
49     if ( &IsParam('symdumpLogFile') ) {
50         my $file = $param{'symdumpLogFile'};
51         &status("opening fh to symdump ($file)");
52         if ( !open( SYMDUMP, ">$file" ) ) {
53             &ERROR('cannot open dumpvars.');
54             return;
55         }
56     }
57     &DEBUG('after open');
58
59     symdumpAll();
60
61     if ( fileno SYMDUMP ) {
62         &status('closing fh to symdump');
63         close SYMDUMP;
64     }
65
66     &status("SD: count == $countlines");
67 }
68
69 1;
70
71 # vim:ts=4:sw=4:expandtab:tw=80