in reply to Reblessing (was: OO Perl: calling a constructor within a class)
in thread OO Perl: calling a constructor within a class

*shudders at the thoughts of his objects doing the can('can')*

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

  • Comment on Re: Reblessing (was: OO Perl: calling a constructor within a class)

Replies are listed 'Best First'.
Re (tilly) 2: Reblessing (was: OO Perl: calling a constructor within a class)
by tilly (Archbishop) on Sep 27, 2001 at 21:05 UTC
    Were you thinking something like this?
    Objects can always can, but a special can can can the usual can. But to see it's a special can you can:
    $check_that_can_with = UNIVERSAL::can($obj,'can') ne \&UNIVERSAL::can;
    But you can't catch the man who replaced the default can:
    my $can = \&UNIVERSAL::can; local $^W = 0; *UNIVERSAL::can = sub { $_[1] eq 'can' ? \&UNIVERSAL::can : &$can; };
    So can that man before he cans your can!
    (Sorry)