Or:
no AutoloadedDestroy;
...
package AutoloadedDestroy;
no strict 'refs'; # somebody should write an Acme::Damian that does this for you
sub import {
# We can't delete the sub, but we can fake it.
# (I think. I never tested this code.)
# (I didn't even compile it.)
# (Really. Use at your own risk.)
my $caller = caller;
*{"$caller\::DESTROY} = sub {
*{"$caller\::AUTOLOAD"} = "$caller\::DESTROY";
goto &{"$caller\::AUTOLOAD"};
};
}
sub unimport {
my $caller = caller;
*{$caller\::AUTOLOAD} = sub {};
}
__END__
On 9/25/07, Yuval Kogman <[EMAIL PROTECTED]> wrote:
> Slightly less ugly but more kookie is Module::Compile::TT
>
> On Tue, Sep 25, 2007 at 21:38:10 +0200, Yuval Yaari wrote:
> > Yona Shlomo wrote:
> > > Is well in place, but alas, I'm too lazy to implement
> > > several dozens of functions/methods that are the same except
> > > for their name... and then change (all of them with no
> > > mistakes) then when needed...
> > >
> > How about...
> >
> > <UGLY>
> > BEGIN {
> > no strict 'refs';
> > *{__PACKAGE__ . '::' . $_} = sub {}
> > for qw/foo bar baz DESTROY/;
> > }
> > </UGLY>
> >
> > HTH :-)
> >
> > ~Y
> > _______________________________________________
> > Perl mailing list
> > [email protected]
> > http://perl.org.il/mailman/listinfo/perl
>
> --
> Yuval Kogman <[EMAIL PROTECTED]>
> http://nothingmuch.woobling.org 0xEBD27418
>
> _______________________________________________
> Perl mailing list
> [email protected]
> http://perl.org.il/mailman/listinfo/perl
>
--
Gaal Yahas <[EMAIL PROTECTED]>
http://gaal.livejournal.com/
_______________________________________________
Perl mailing list
[email protected]
http://perl.org.il/mailman/listinfo/perl