X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fshowvars.pl;h=e96da2c2812c3f88be48a1271643321b17b68235;hb=45e51047c2df703229843193e49fb9829489170f;hp=a8733e08982c07fe5618c515875063c33a3bc499;hpb=bb482ed34735d13cad2a02cf0f5cdc322b6b9f89;p=infobot.git diff --git a/scripts/showvars.pl b/scripts/showvars.pl old mode 100644 new mode 100755 index a8733e0..e96da2c --- a/scripts/showvars.pl +++ b/scripts/showvars.pl @@ -2,36 +2,39 @@ sub dumpvar { ($packageName) = @_; - $rPackage = \%{"${packageName}::"}; # Get a reference to the appropriate symbol table hash. - $, = " " ; - while (($varName, $globValue) = each %$rPackage) { - last if ($varName eq "main::"); - print "$varName ============================= \n"; - *var = $globValue; - if (defined ($var)) { - print "\t \$$varName = '$var' \n"; - } - if (defined (@var)) { - pretty_print(@var); + $rPackage = + \%{"${packageName}::" + }; # Get a reference to the appropriate symbol table hash. + $, = " "; + while ( ( $varName, $globValue ) = each %$rPackage ) { + last if ( $varName eq "main::" ); + print "$varName ============================= \n"; + *var = $globValue; + if ( defined($var) ) { + print "\t \$$varName = '$var' \n"; + } + if ( defined(@var) ) { + pretty_print(@var); ### print "\t \@$varName @var \n"; - } - if (defined (%var)) { - pretty_print(%var); + } + if ( defined(%var) ) { + pretty_print(%var); ### print "\t \%$varName ",%var," \n"; - } + } } } dumpvar("main"); -$level = -1; # Level of indentation +$level = -1; # Level of indentation sub pretty_print { my $var; foreach $var (@_) { - if (ref ($var)) { + if ( ref($var) ) { print_ref($var); - } else { + } + else { print_scalar($var); } } @@ -39,68 +42,75 @@ sub pretty_print { sub print_scalar { ++$level; - print_indented ($_[0]); + print_indented( $_[0] ); --$level; } sub print_ref { my $r = $_[0]; - if (exists ($already_seen{$r})) { - print_indented ("$r (Seen earlier)"); + if ( exists( $already_seen{$r} ) ) { + print_indented("$r (Seen earlier)"); return; - } else { - $already_seen{$r}=1; + } + else { + $already_seen{$r} = 1; } my $ref_type = ref($r); - if ($ref_type eq "ARRAY") { + if ( $ref_type eq "ARRAY" ) { print_array($r); - } elsif ($ref_type eq "SCALAR") { + } + elsif ( $ref_type eq "SCALAR" ) { print "Ref -> $r"; print_scalar($$r); - } elsif ($ref_type eq "HASH") { + } + elsif ( $ref_type eq "HASH" ) { print_hash($r); - } elsif ($ref_type eq "REF") { + } + elsif ( $ref_type eq "REF" ) { ++$level; print_indented("Ref -> ($r)"); print_ref($$r); --$level; - } else { - print_indented ("$ref_type (not supported)"); + } + else { + print_indented("$ref_type (not supported)"); } } sub print_array { my ($r_array) = @_; ++$level; - print_indented ("[ # $r_array"); + print_indented("[ # $r_array"); foreach $var (@$r_array) { - if (ref ($var)) { + if ( ref($var) ) { print_ref($var); - } else { + } + else { print_scalar($var); } } - print_indented ("]"); + print_indented("]"); --$level; } sub print_hash { - my($r_hash) = @_; - my($key, $val); - ++$level; - print_indented ("{ # $r_hash"); - while (($key, $val) = each %$r_hash) { - $val = ($val ? $val : '""'); + my ($r_hash) = @_; + my ( $key, $val ); + ++$level; + print_indented("{ # $r_hash"); + while ( ( $key, $val ) = each %$r_hash ) { + $val = ( $val ? $val : '""' ); ++$level; - if (ref ($val)) { - print_indented ("$key => "); + if ( ref($val) ) { + print_indented("$key => "); print_ref($val); - } else { - print_indented ("$key => $val"); + } + else { + print_indented("$key => $val"); } --$level; } - print_indented ("}"); + print_indented("}"); --$level; } @@ -108,3 +118,5 @@ sub print_indented { $spaces = ": " x $level; print "${spaces}$_[0]\n"; } + +# vim:ts=4:sw=4:expandtab:tw=80