10 $test{'hegdfgsd'} = 'GSDFSDfsd';
15 &vartree(\%main::, 'main::');
19 my ($pad, $ref, $symname) = @_;
20 my $padded = " " x $pad;
25 @list = keys %{$symname} if ($ref eq 'HASH');
26 @list = @{$symname} if ($ref eq 'ARRAY');
31 if ($ref eq 'HASH' or $ref eq 'ARRAY') {
32 print $padded."recursing $ref($_).\n";
33 &tree($pad+2, $ref, $_);
34 } elsif ($ref eq '') {
39 print $padded."scalars $scalar, size $size\n";
43 my ($package, $packname) = @_;
47 foreach $symname (sort keys %$package) {
48 local *sym = $$package{$symname};
49 next unless (defined $sym);
50 print "scalar => $symname = '$sym'\n";
54 foreach $symname (sort keys %$package) {
55 local *sym = $$package{$symname};
56 next unless (defined @sym);
58 &tree(2, "ARRAY", $symname);
62 foreach $symname (sort keys %$package) {
63 local *sym = $$package{$symname};
64 next unless (defined %sym);
66 &tree(2, "HASH", $symname);
69 foreach $symname (sort keys %$package) {
70 local *sym = $$package{$symname};
71 next unless (defined %sym);
72 next unless ($symname =~ /::/);
73 next if ($symname eq 'main::');
75 print "recurse: $symname.\n";
76 &vartree(\%sym, $symname);