use Data::Dumper;
...
my $ua = LWP::UserAgent->new;
print Dumper $ua;
...
my $res = $ua->get(...);
print Dumper $res;
...
Please see Data::Dumper. (Note: Be prepared for a lot of data to be dumped from some object references!)
Also a point of confusion: is
$ua->show_progress
the same thing as
$$ua{show_progress}
?
It is not. The expression $ua->show_progress invokes (without any arguments) the method show_progress() in the class (or a superclass) of which $ua is an object reference.
The expression $$ua{show_progress} attempts to access the value of the 'show_progress' key in the anonymous hash to which $ua is presumed to be a reference; it is an error if $ua is not a hash reference. This expression is the same as the form $ua->{show_progress} which is preferred (properly, IMHO).
c:\@Work\Perl>perl -wMstrict -le
"{ package Foo;
use Data::Dump qw(pp);
;;
sub new {
my $class = shift;
return bless { show_progress => 'not so fast', @_, } => $class;
}
sub show_progress {
my $self = shift;
print 'Real Thing: ', pp $self;
}
}
;;
my $object_reference = Foo->new(foo => 'bar', hi => 'lo');
;;
$object_reference->show_progress;
print 'A: ', $$object_reference {show_progress};
print 'B: ', $object_reference->{show_progress};
"
Real Thing: bless({ foo => "bar", hi => "lo", show_progress => "not so
+ fast" }, "Foo")
A: not so fast
B: not so fast
I'm using Data::Dump in this example instead of Data::Dumper because I like its output formatting better; the latter is core, the former is not.
Give a man a fish: <%-{-{-{-<
|