I am not a perl programmer. I do have to maintain a legacy perl application. Something has changed in the environment so that it no longer correctly reports the status of public key certificates. I need to discover what that change is and how to accommodate it. The critical piece of code appears to be:
sub genHTMLTableRow
{
my $self = shift;
my $args = shift;
my $e = shift;
my $ser = $e->{serial};
my $pem = $ser.'.html';
. . .
What I wish to do for debugging purposes is to dump the actual contents of $self, $args, and $e. I tried the naive approach of using print "$self\n"; but that just gave me this:
CSP=HASH(0x800b1e060)
I tried to use the map function
print map { "Key: $_ has Value:$self{$_}\n" } keys $self;
I clearly do not understand the naming conventions of perl variables as this usage of map causes the error:
Global symbol "%self" requires explicit package name (did you forget
+ to declare "my %self"?) at /root/bin/rcsp/blib/lib/CSP.pm line 861
What is the perl way of displaying the contents of $self, $args, and $e?