DOKK / manpages / debian 12 / libpod-wsdl-perl / Pod::WSDL::AUTOLOAD.3pm.en
Pod::WSDL::AUTOLOAD(3pm) User Contributed Perl Documentation Pod::WSDL::AUTOLOAD(3pm)

Pod::WSDL::AUTOLOAD - Base class for autoloading (internal use only)

  package Foo;
  our @ISA = qw/Pod::WSDL::AUTOLOAD/;
  sub new {
    my $pgk = shift;
    bless {
          _bar => 'blah',
    }, $pgk
  }
  package main;
  use Foo;
  
  my $foo = new Foo();
  print $foo->bar;  # prints 'blah'
  
  $foo->bar('bloerch');  # sets _bar to 'bloerch'

This module is used internally by Pod::WSDL. It is unlikely that you have to interact directly with it. The Pod::WSDL::AUTOLOADER is used as a base class and handels autoloading of accessor methods. If there is a property called _foo in a hash based blessed reference, it will allow the use of the method 'foo' as a getter and setter. As a getter is returns the value of _foo, as a setter it sets _foo with the argument and returns the object. You can exclude the accessor by using a hash %FORBIDDEN_METHODS in the derived class like that:

  our %FORBIDDEN_METHODS = (
        foo => {get => 1, set => 0},
        bar => {get => 0, set => 0}
  );

In this example it will not be allowed to set _foo and to set or get _bar. If the user of the object tries to do so, it croaks. From within the objects package every accessor is allowed.

[none]

  Carp;

see Pod::WSDL

see Pod::WSDL

see Pod::WSDL

  Pod::WSDL :-)

Tarek Ahmed, <bloerch -the character every email address contains- oelbsk.org>

Copyright (C) 2006 by Tarek Ahmed

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.

2022-06-16 perl v5.34.0