in reply to Re: Function name in a variable, can't recall the concept (introspection with ->can )
in thread Function name in a variable, can't recall the concept

No, you shouldn't. can performs a method lookup, not a sub lookup.

As for not working with AUTOLOAD, that would indicate a bug in the class using AUTOLOAD. It should override can to provide a meaningful result.

  • Comment on Re^2: Function name in a variable, can't recall the concept (introspection with ->can )
  • Select or Download Code

Replies are listed 'Best First'.
Re^3: Function name in a variable, can't recall the concept (introspection with ->can )
by LanX (Saint) on Apr 15, 2019 at 11:07 UTC
    > No, you shouldn't. can performs a method lookup, not a sub lookup.

    ->can does a sub lookup if @ISA is empty, and the content of @ISA is introspectable too.

    And using a package for a module and a class is a pretty dubious concept.

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

      If I understand correctly, you're saying it's ok to use can if you make sure to check that @ISA is empty first?

      1) You didn't do that, so I guess you're saying your code is wrong too?

      2) You'd need to use an alternative approach when @ISA isn't empty. Why not use that all the time?

        No I'm saying if one is really worried that the inspected module is a class, one can easily check @ISA.

        Cheers Rolf
        (addicted to the Perl Programming Language :)
        Wikisyntax for the Monastery FootballPerl is like chess, only without the dice