in reply to Re^2: Objects and passing/calling methods
in thread Objects and passing/calling methods

The one it's been blessed to.

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

Replies are listed 'Best First'.
Re^4: Objects and passing/calling methods
by driador (Novice) on Sep 22, 2018 at 20:37 UTC
    Thank you, much appreciated!

      You can (usually) easily tell what class an object is blessed into by using one of many fine dumpers; I like Data::Dump, but it's not core; Data::Dumper is core.

      c:\@Work\Perl\monks>perl -wMstrict -le "use 5.014; ;; package Foo { sub defaults { return { 'default' => 'zing' }; } sub new { my $class = shift; my ($hr_args) = @_; my $obj = { %{ $class->defaults }, %{ $hr_args || {} } }; return bless $obj => $class; } sub show { my $self = shift; print qq{@{[ %$self ]} @_}; } } ;; package Bar { use parent -norequire, qw(Foo); sub show { my $self = shift; $self->SUPER::show('from ' . __PACKAGE__, @_); } } ;; my $b = Bar->new({ 'hi' => 'there' }); $b->show('zoot'); ;; use Data::Dump qw(dd); ;; dd $b; " hi there default zing from Bar zoot bless({ default => "zing", hi => "there" }, "Bar")

      Update: Per kevbot's comment:   Addition to code posted above:

      ... print ref $b;
      And it's output:
      Bar


      Give a man a fish:  <%-{-{-{-<

        One can also determine the class using the ref function.

        If the referenced object has been blessed into a package, then that package name is returned instead.