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


in reply to OOP: Obj->Coderef for calling Private Methods

Would the following addition to perlobj, at the end of the Method Invocation section be reasonably correct and clear?

If the right side of the arrow is a scalar containing a reference to a subroutine then this is equivalent to calling the referenced subroutine directly with the class name or object on the left side of the arrow as its first argument. No lookup is done and there is no requirement that the subroutine be defined in any package related to the class name or object on the left side of the arrow. For example, the following calls to $display are equivalent: my $display = sub { my $self = shift; ... }; $fred->$display("Height", "Weight"); $display->($fred, "Height", "Weight");

If so, I would submit a patch to the documentation.

Update: PerlBug 61392

Replies are listed 'Best First'.
Re^2: OOP: Obj->Coderef for calling Private Methods
by LanX (Saint) on Dec 16, 2008 at 11:31 UTC
    Thanx!

    Cheers Rolf