11 $test{'hegdfgsd'} = 'GSDFSDfsd';
13 push( @test1, "Aeh." );
14 push( @test1, "Beh." );
15 push( @test1, "Ceh." );
16 push( @test1, "Deh." );
18 push( @test, "heh." );
19 push( @test, \%test );
22 push( @test, \@test1 );
24 print "=============start=================\n";
26 #&DumpArray(0, '@test', \@test);
27 &DumpPackage( 0, 'main::', \%main:: );
29 # SCALAR ARRAY HASH CODE REF GLOB LVALUE
31 my ( $pad, $symname, $arrayref ) = @_;
32 my $padding = " " x $pad;
36 print "$padding$symname\n";
37 foreach ( @{$arrayref} ) {
39 if ( $ref eq 'ARRAY' ) {
40 $size += &DumpArray( $pad + 1, "@" . $_, $_ );
42 elsif ( $ref eq 'HASH' ) {
43 $size += &DumpHash( $pad + 1, "%" . $_, $_ );
46 print "$padding $_ $ref\n";
51 print $padding. "scalars $scalar, size $size\n";
56 my ( $pad, $symname, $hashref ) = @_;
57 my $padding = " " x $pad;
61 my %sym = %{$hashref};
62 my @list = sort keys %sym;
63 print "$padding$symname\n";
66 my $ref = ref %{$symname}; #FIXME
68 if ( $ref eq 'ARRAY' ) {
69 $size += &DumpArray( $pad + 1, "@" . $_, $_ );
71 elsif ( $ref eq 'HASH' ) {
72 $size += &DumpHash( $pad + 1, "%" . $_, $_ );
75 print "$padding $_=$sym{$_} $ref\n";
77 $size += length( $sym{$_} );
80 print $padding. "scalars $scalar, size $size\n";
85 my ( $pad, $packname, $package ) = @_;
86 my $padding = " " x $pad;
90 print $padding . "\%$packname\n";
92 foreach $symname ( sort keys %$package ) {
93 local *sym = $$package{$symname};
95 print "$padding \$$symname='$sym'\n";
97 $size += length($sym);
99 elsif ( defined @sym ) {
100 $size += &DumpArray( $pad + 1, $symname, \@sym );
102 elsif ( defined %sym ) {
103 $size += &DumpHash( $pad + 1, $symname, \%sym );
105 elsif ( ( $symname =~ /::/ ) and ( $symname ne 'main::' ) ) {
106 $size += &DumpPackage( $pad + 1, \%sym, $symname );
109 print( "ERROR $symname" . ref $symname . "\n" );
112 print $padding. "scalars $scalar, size $size\n";
116 # vim:ts=4:sw=4:expandtab:tw=80