this post was submitted on 06 Aug 2023
3 points (100.0% liked)

perl

1 readers
1 users here now

perl programming language.

founded 3 years ago
MODERATORS
 

I did not find anything mentioning this anywhere, but it is such a basic feature of class based programming, that I can't imagine it is not there, somewhere, somehow.

class One { method do_it {say 1} }
class Two : isa(One) { method do_it { super()->do_it; say 2} } # or so...
top 3 comments
sorted by: hot top controversial new old
[–] breadsmasher 1 points 11 months ago (2 children)
[–] [email protected] 1 points 11 months ago* (last edited 11 months ago)

I can do One::do_it($self) or One->can('do_it')->($self), but that seems very ugly and against the pattern.

[–] [email protected] 1 points 11 months ago* (last edited 11 months ago)

But if you are referring to: my $sub = sub { $self->SUPER::method(@_) }; or actually only $self->SUPER::method(@_)

~~no, this is seemingly no possible (and what I am looking for, in one way or another) - this is the super() from my pseudo code above and there is no SUPER. This seems to be a bless based feature...~~

Sorry, I take that back, $self->SUPER::do_it(); does work!

Thanks!