]> git.donarmstrong.com Git - infobot.git/blob - src/Modules/DumpVars2.pl
- added weather from Nathan Moschkin <logeist@guinerd.myip.org>. Thanks!
[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;
9 use Devel::Symdump;
10
11 sub symdumplog {
12     my ($line) = @_;
13
14     if (fileno SYMDUMP) {
15         print SYMDUMP $line."\n";
16     } else {
17         &status("SD: ".$line);
18     }
19 }
20
21 sub symdumpAll {
22     my $o = Devel::Symdump->rnew();
23
24     # scalars.
25     foreach ($o->scalars) {
26 #       &symdumpRecur($_);
27         symdumplog("  scalar($_)");
28     }
29 }
30
31 sub symdumpRecur {
32     my $x = shift;
33
34     if (ref $x eq "HASH") {
35         foreach (keys %$x) {
36             &symdumpRecur($_);
37         }
38     } else {
39         symdumplog("unknown: $x");
40     }
41 }
42
43 sub symdumpAllFile {
44     &DEBUG("before open");
45     if (&IsParam("symdumpLogFile")) {
46         my $file = $param{'symdumpLogFile'};
47         &status("opening fh to symdump ($file)");
48         if (!open(SYMDUMP,">$file")) {
49             &ERROR("cannot open dumpvars.");
50             return;
51         }
52     }
53     &DEBUG("after open");
54
55     symdumpAll();
56
57     if (fileno SYMDUMP) {
58         &status("closing fh to symdump");
59         close SYMDUMP;
60     }
61
62     &status("SD: count == $countlines");
63 }
64
65 1;