in reply to how to print out a variable name and its value

hackish solution:

sub print_variable { local *print_variable = $_[0]; my $name = $print_variable; for (keys %::){ next if /^print_variable$/; print "$_ = $name\n" if *{$::{$_}}{SCALAR} eq *{$::{print_variable}}{SCALAR}; } } $firstname = "Edward"; $var = 1; print_variable( *firstname ); print_variable( *var ); __END__ firstname = Edward var = 1

Doesn't work with my variables, only with symbol table entries. Also, if you alias a typeglob, you get them all:

$firstname = "Edward"; *surname = *firstname; print_variable( *firstname ); __END__ firstname = Edward surname = Edward

update: fixed b0rken code...

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}