11 $test{'hegdfgsd'} = 'GSDFSDfsd';
23 print "=============start=================\n";
24 #&DumpArray(0, '@test', \@test);
25 &DumpPackage(0, 'main::', \%main::);
27 # SCALAR ARRAY HASH CODE REF GLOB LVALUE
29 my ($pad, $symname, $arrayref) = @_;
30 my $padding = " " x $pad;
34 print "$padding$symname\n";
35 foreach (@{$arrayref}) {
37 if ($ref eq 'ARRAY') {
38 $size += &DumpArray($pad+1, "@" . $_, $_);
39 } elsif ($ref eq 'HASH') {
40 $size += &DumpHash($pad+1, "%" . $_, $_);
42 print "$padding $_ $ref\n";
47 print $padding."scalars $scalar, size $size\n";
52 my ($pad, $symname, $hashref) = @_;
53 my $padding = " " x $pad;
57 my %sym = %{$hashref};
58 my @list = sort keys %sym;
59 print "$padding$symname\n";
62 my $ref = ref %{$symname};
64 if ($ref eq 'ARRAY') {
65 $size += &DumpArray($pad+1, "@" . $_, $_);
66 } elsif ($ref eq 'HASH') {
67 $size += &DumpHash($pad+1, "%" . $_, $_);
69 print "$padding $_=$sym{$_} $ref\n";
71 $size += length($sym{$_});
74 print $padding."scalars $scalar, size $size\n";
79 my ($pad, $packname, $package) = @_;
80 my $padding = " " x $pad;
84 print $padding . "\%$packname\n";
86 foreach $symname (sort keys %$package) {
87 local *sym = $$package{$symname};
89 print "$padding \$$symname='$sym'\n";
91 $size += length($sym);
93 $size += &DumpArray($pad+1, $symname, \@sym) if (defined @sym);
94 $size += &DumpHash($pad+1, $symname, \%sym) if (defined %sym);
95 $size += &DumpPackage($pad+1, \%sym, $symname) if (($symname =~ /::/) and ($symname ne 'main::'));
97 print $padding."scalars $scalar, size $size\n";