NAME Attribute::Protected - implementing proctected methods with attributes SYNOPSIS package SomeClass; use Attribute::Protected; sub foo : Public { } sub _bar : Private { } sub _baz : Protected { } sub another { my $self = shift; $self->foo; # OK $self->_bar; # OK $self->_baz; # OK } package DerivedClass; @DerivedClass::ISA = qw(SomeClass); sub yetanother { my $self = shift; $self->foo; # OK $sel
![Attribute::Protected](https://cdn-ak-scissors.b.st-hatena.com/image/square/c4a607b5430575638fd9a7f233e073d867af4bb7/height=288;version=1;width=512/https%3A%2F%2Fmetacpan.org%2Fstatic%2Fimages%2Fdots.png)