Hi,

In order to test this module for testers.cpan.org, I got a lot of warnings 
like this one:
Use of inherited AUTOLOAD for non-method HTTP::Request::DESTROY() is 
deprecated
        at base/cookies.t line 91 (#1)

Use diagnostics say:
    (D deprecated) As an (ahem) accidental feature, AUTOLOAD subroutines
    are looked up as methods (using the @ISA hierarchy) even when the
    subroutines to be autoloaded were called as plain functions (e.g.
    Foo::bar()), not as methods (e.g. < Foo-bar() >> or <
    $obj-bar() >>).

    This bug will be rectified in future by using method lookup only for
    methods' AUTOLOADs.  However, there is a significant base of existing
    code that may be using the old behavior.  So, as an interim step, Perl
    currently issues an optional warning when non-methods use inherited
    AUTOLOADs.

    The simple rule is:  Inheritance will not work when autoloading
    non-methods.  The simple fix for old code is:  In any module that used
    to depend on inheriting AUTOLOAD for non-methods from a base class
    named BaseClass, execute *AUTOLOAD = \&BaseClass::AUTOLOAD during
    startup.

    In code that currently says use AutoLoader; @ISA = qw(AutoLoader);
    you should remove AutoLoader from @ISA and change use AutoLoader; to
    use AutoLoader 'AUTOLOAD';.

I try to add     *AUTOLOAD = \&HTTP::Message::AUTOLOAD; on HTTP::Request, but 
same thing. The only thing I find is create a empty DESTROY method in 
HTTP::Mesage.

what are consequence ? Don't know .... Memory problem ? Say me what you think 
of this. (you must use 5.7.3 or greater to have this warning).
Regards,
--
Alain BARBET

Reply via email to