NAME

Net::LDAP::Control::Sort - Server Side Sort (SSS) control object

SYNOPSIS

use Net::LDAP::Control::Sort;
use Net::LDAP::Constant qw(LDAP_CONTROL_SORTRESULT);

$sort = Net::LDAP::Control::Sort->new(
  order => "cn -phone"
);

$mesg = $ldap->search( @args, control => [ $sort ]);

($resp) = $mesg->control( LDAP_CONTROL_SORTRESULT );

print "Results are sorted\n"  if $resp and !$resp->result;

DESCRIPTION

Net::LDAP::Control::Sort is a sub-class of Net::LDAP::Control. It provides a class for manipulating the LDAP Server Side Sort (SSS) request control 1.2.840.113556.1.4.473 as defined in RFC-2891

If the server supports sorting, then the response from a search operation will include a sort result control. This control is handled by Net::LDAP::Control::SortResult.

CONSTRUCTOR ARGUMENTS

order

A string which defines how entries may be sorted. It consists of multiple directives, separated by whitespace. Each directive describes how to sort entries using a single attribute. If two entries have identical attributes, then the next directive in the list is used.

Each directive specifies a sorting order as follows

-attributeType:orderingRule

The leading - is optional, and if present indicates that the sorting order should be reversed. attributeType is the attribute name to sort by. orderingRule is optional and indicates the rule to use for the sort and should be valid for the given attributeType.

Any one attributeType should only appear once in the sorting list.

Examples

"cn"         sort by cn using the default ordering rule for the cn attribute
"-cn"        sort by cn using the reverse of the default ordering rule
"age cn"     sort by age first, then by cn using the default ordering rules
"cn:1.2.3.4" sort by cn using the ordering rule defined as 1.2.3.4

METHODS

As with Net::LDAP::Control each constructor argument described above is also available as a method on the object which will return the current value for the attribute if called without an argument, and set a new value for the attribute if called with an argument.

SEE ALSO

Net::LDAP, Net::LDAP::Control::SortResult, Net::LDAP::Control, http://www.ietf.org/rfc/rfc2891.txt

AUTHOR

Graham Barr <gbarr@pobox.com>

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

COPYRIGHT

Copyright (c) 1999-2004 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.