10 $test{'hegdfgsd'} = 'GSDFSDfsd';
12 push( @test, "heh." );
13 push( @test, \%test );
15 &vartree( \%main::, 'main::' );
18 my ( $pad, $ref, $symname ) = @_;
19 my $padded = " " x $pad;
24 @list = keys %{$symname} if ( $ref eq 'HASH' );
25 @list = @{$symname} if ( $ref eq 'ARRAY' );
30 if ( $ref eq 'HASH' or $ref eq 'ARRAY' ) {
31 print $padded. "recursing $ref($_).\n";
32 &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 );
82 # vim:ts=4:sw=4:expandtab:tw=80