- my ($pad, $packname, $package) = @_;
- my $padding = " " x $pad;
- my $scalar = 0;
- my $size = 0;
-
- print $padding . "\%$packname\n";
- 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::'));
- }
- print $padding."scalars $scalar, size $size\n";
- return $size;
+ my ( $pad, $packname, $package ) = @_;
+ my $padding = " " x $pad;
+ my $scalar = 0;
+ my $size = 0;
+
+ print $padding . "\%$packname\n";
+ my $symname;
+ foreach $symname ( sort keys %$package ) {
+ local *sym = $$package{$symname};
+ 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;