Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^4: OO systems and Perl 5 (Was: Recap: Future of Perl 5)

by RonW (Parson)
on Aug 31, 2018 at 00:11 UTC ( #1221414=note: print w/replies, xml ) Need Help??


in reply to Re^3: OO systems and Perl 5 (Was: Recap: Future of Perl 5)
in thread OO systems and Perl 5 (Was: Recap: Future of Perl 5)

If "method dispatch" is not being used, how would UNIVERSAL::new be inherited?

Also, related to LanX's comment, How does method dispatch interact with AUTOLOAD?

  • Comment on Re^4: OO systems and Perl 5 (Was: Recap: Future of Perl 5)

Replies are listed 'Best First'.
Re^5: OO systems and Perl 5 (Was: Recap: Future of Perl 5)
by LanX (Archbishop) on Aug 31, 2018 at 01:44 UTC
    > Also, related to LanX's comment, How does method dispatch interact with AUTOLOAD?

    use strict; use warnings; use Data::Dump qw/pp dd/; Class->new("method"); Class::new("function"); # sub UNIVERSAL::new { # warn "UNIVERSAL", pp \@_; # } package Class; use Data::Dump qw/pp dd/; sub AUTOLOAD { warn "AUTOLOAD", pp \@_; }

    AUTOLOAD["Class", "method"] at d:/Users/lanx/AppData/Roaming/exp/new_a +utoload.pl line 23. AUTOLOAD["function"] at d:/Users/lanx/AppData/Roaming/exp/new_autoload +.pl line 23.

    with UNIVERSAL::new() uncommented:

    UNIVERSAL["Class", "method"] at d:/Users/lanx/AppData/Roaming/exp/new_ +autoload.pl line 14. AUTOLOAD["function"] at d:/Users/lanx/AppData/Roaming/exp/new_autoload +.pl line 23.

    So a class which counts on catching ->new in AUTOLOAD would be sabotaged.

    A normal function call wouldn't be effected by UNIVERSAL.

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

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1221414]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (7)
As of 2019-04-21 14:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I am most likely to install a new module from CPAN if:
















    Results (111 votes). Check out past polls.

    Notices?