---
name: "Net::LDAP::Intermediate"
section: "3pm"
platform: "linux"
package: "perl-ldap"
version: "0.68-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Net::LDAP::Intermediate"
---

# Net::LDAP::Intermediate(3pm)

LDAPv3 intermediate response object base class

## NAME

Net::LDAP::Intermediate - LDAPv3 intermediate response object base class

## SYNOPSIS

```
 use Net::LDAP::Intermediate;
```

## DESCRIPTION

`"Net::LDAP::Intermediate"` is a base-class for LDAPv3 intermediate response objects.

## CONSTRUCTORS

- new ( ARGS )

  ARGS is a list of name/value pairs, valid arguments are:

  - responseName

    A dotted-decimal representation of an OBJECT IDENTIFIER which uniquely identifies the intermediate response. This prevents conflicts between intermediate response names.

  - responseValue

    Optional information associated with the intermediate response. It's format is specific to the particular intermediate response.

- from\_asn ( ASN )

  ASN is a HASH reference, normally extracted from a PDU. It will contain a `"responseName"` element and optionally `"responseValue"` element. On return ASN will be blessed into a package. If `"responseName"` is a registered OID, then ASN will be blessed into the registered package, if not then ASN will be blessed into Net::LDAP::Intermediate.

  This constructor is used internally by Net::LDAP and assumes that HASH passed contains a valid intermediate response. It should be used with **caution**.

## METHODS

In addition to the methods listed below, each of the named parameters to `"new"` is also available as a method. `"responseName"` will return the OID of the intermediate response object. `"responseValue"` is set/get methods and will return the current value for each attribute if called without arguments, but may also be called with arguments to set new values.

- error ()

  If there has been an error returns a description of the error, otherwise it will return `"undef"`

- init ()

  `"init"` will be called as the last step in both constructors. What it does will depend on the sub-class. It must always return the object.

- register ( OID )

  `"register"` is provided for sub-class implementors. It should be called as a class method on a sub-class of Net::LDAP::Intermediate with the OID that the class will handle. Net::LDAP::Intermediate will remember this class and OID pair and use it in the following situations.

  - •

    `"new"` is called as a class method on the Net::LDAP::Intermediate package and OID is passed as the responseName. The returned object will be blessed into the package that registered the OID.

  - •

    `"new"` is called as a class method on a registered package and the `"responseName"` is not specified. The `"responseName"` will be set to the OID registered by that package.

  - •

    `"from_asn"` is called to construct an object from ASN. The returned object will be blessed into the package which was registered to handle the OID in the ASN.

- ( to\_asn )

  Returns a structure suitable for passing to Convert::ASN1 for encoding. This method will be called by Net::LDAP when the intermediate response is used.

  The base class implementation of this method will call the `"responseValue"` method without arguments to allow a sub-class to encode it's value. Sub-classes should not need to override this method.

- valid ()

  Returns true if the object is valid and can be encoded. The default implementation for this method is to return TRUE if there is no error, but sub-classes may override that.

## SEE ALSO

Net::LDAP Net::LDAP::Extension Net::LDAP::Search Net::LDAP::Intermediate::SyncInfo

## AUTHOR

Mathieu Parent \<math.parent@gmail.com\>

Please report any bugs, or post any suggestions, to the perl-ldap mailing list \<perl-ldap@perl.org\>

## COPYRIGHT

Copyright (c) 2008 Mathieu Parent. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
