]> git.donarmstrong.com Git - infobot.git/blobdiff - blootbot/scripts/symname.pl
migrated debianRefreshInterval
[infobot.git] / blootbot / scripts / symname.pl
index d4b5d935533c6c65338e36d328fa1f568c3d7a17..dfa71c74598bd948efdf525041f1716c1c4dc12c 100755 (executable)
@@ -59,7 +59,7 @@ sub DumpHash{
  print "$padding$symname\n";
 
  foreach (@list) {
-  my $ref = ref %{$symname};
+  my $ref = ref %{$symname}; #FIXME
   $size += length($_);
   if ($ref eq 'ARRAY') {
    $size += &DumpArray($pad+1, "@" . $_, $_);
@@ -85,10 +85,19 @@ sub DumpPackage {
  my $symname;
  foreach $symname (sort keys %$package) {
   local *sym = $$package{$symname};
-  print "$padding \$$symname='$sym'\n" if (defined $sym);
-  $size += &DumpArray($pad+1, $symname, \@sym) if (defined @sym);
-  $size += &DumpHash($pad+1, $symname, \%sym) if (defined %sym);
-  $size += &DumpPackage($pad+1, \%sym, $symname) if (($symname =~ /::/) and ($symname ne 'main::'));
+  if (defined $sym) {
+   print "$padding \$$symname='$sym'\n";
+   $scalar++;
+   $size += length($sym);
+  } elsif (defined @sym) {
+   $size += &DumpArray($pad+1, $symname, \@sym);
+  } elsif (defined %sym) {
+   $size += &DumpHash($pad+1, $symname, \%sym);
+  } elsif (($symname =~ /::/) and ($symname ne 'main::')) {
+   $size += &DumpPackage($pad+1, \%sym, $symname);
+  } else {
+   print("ERROR $symname" . ref $symname . "\n");
+  }
  }
  print $padding."scalars $scalar, size $size\n";
  return $size;