First you need to understand what references are in Perl.
See L<perlref> for that. Second, if you still find the following
reference work too complicated, a tutorial on object-oriented programming
-in Perl can be found in L<perltoot> and L<perltootc>.
+in Perl can be found in L<perltoot> and L<perltooc>.
If you're still with us, then
here are three very simple definitions that you should find reassuring.
A class method expects a class name as the first argument. It
provides functionality for the class as a whole, not for any
individual object belonging to the class. Constructors are often
-class methods, but see L<perltoot> and L<perltootc> for alternatives.
+class methods, but see L<perltoot> and L<perltooc> for alternatives.
Many class methods simply ignore their first argument, because they
already know what package they're in and don't care what package
they were invoked via. (These aren't necessarily the same, because
print "It's still an object\n" if UNIVERSAL::can($val, 'can');
+You can also use the C<blessed> function of Scalar::Util:
+
+ use Scalar::Util 'blessed';
+
+ my $blessing = blessed $suspected_object;
+
+C<blessed> returns the name of the package the argument has been
+blessed into, or C<undef>.
+
=item VERSION( [NEED] )
C<VERSION> returns the version number of the class (package). If the
=head1 SEE ALSO
A kinder, gentler tutorial on object-oriented programming in Perl can
-be found in L<perltoot>, L<perlbootc> and L<perltootc>. You should
+be found in L<perltoot>, L<perlboot> and L<perltooc>. You should
also check out L<perlbot> for other object tricks, traps, and tips, as
well as L<perlmodlib> for some style guides on constructing both
modules and classes.