http://www.perlmonks.org?node_id=1023637


in reply to Re: Example from perlobj failing?
in thread Example from perlobj failing?

Chromatic, NetWallah, tobyink: thank you for your explanations. Makes sense.

For the benefit of PerlMonks users: here is a corrected example, with added printouts, which are cool.

Many thanks - Helen

# Based on: http://perldoc.perl.org/perlobj.html use strict; use warnings; use parent; use 5.014; package A; sub new { return bless {}, shift; } sub speak { say 'A::speak: entered'; my $self = shift; # $self->SUPER::speak(); say 'A'; say 'A::speak: leaving'; } package B; use parent -norequire, 'A'; sub speak { say 'B::speak: entered'; my $self = shift; $self->SUPER::speak(); say 'B'; say 'B::speak: leaving'; } package C; use parent -norequire, 'B'; sub speak { say 'C::speak: entered'; my $self = shift; $self->SUPER::speak(); say 'C'; say 'C::speak: leaving'; } my $c = C->new(); say 'calling C::speak'; $c->speak(); say 'returned from C::speak';