Jim --

Try something for me -- insert

        print("Control valid? -- ",$page -> valid(), "\n");

after line 6.

This will return "True" if your LDAP server supports the 'paged' control.


B


Bob Goolsby
[EMAIL PROTECTED]
(925) 979-7579



Jim Longino <[EMAIL PROTECTED]> 
07/22/2003 03:04 PM

To
[EMAIL PROTECTED]
cc

Subject
Re: Net::LDAP::Control::Paged problems






Bob,

I'm using perl 5.8.0 (compiled from source)  Net::LDAP version 0.28, and 
Net::LDAP::Control::Paged version 0.02, but still get all results (252) 
matches on one page.
I'm also using iPlanet Directory Server 5.1 sp2.   Any suggestions? I 
need this to simplify the task of controlling an LDAP search application 
(web).

--Jim

[EMAIL PROTECTED] wrote:

>I am a bit confused.  I clipped out your code and made two changes:  host 

>(line 8) and search base (line 11) to talk to my directory.  The code 
runs 
>the way you expected.  (I am using perl 5.6.1 and  Net::LDAP version 
>0.28).  I am afraid that I am at a loos as to why you are not seeing the 
>right page breaks.
>
>pagect: 7
>   31: cn => 'NOEL A SMITH'
>   32: cn => 'TIMOTHY R SMITH'
>   33: cn => 'CARRIE SMITH'
>   34: cn => 'Patricia Smith'
>   35: cn => 'Angela C Smith'
>pagect: 8
>   36: cn => 'MELVIN SMITH'
>   37: cn => 'KEVIN SMITH'
>   38: cn => 'SCOTT G SMITH'
>   39: cn => 'DENISE M SMITH'
>   40: cn => 'MARGIE MAE SMITH'
>
>
>B
>
>Bob Goolsby
>[EMAIL PROTECTED]
>(925) 979-7579
>
>
>
>Jim Longino <[EMAIL PROTECTED]> 
>07/22/2003 10:44 AM
>
>To
>Perl-ldap-dev Mailing List <[EMAIL PROTECTED]>
>cc
>
>Subject
>Net::LDAP::Control::Paged problems
>
>
>
>
>
>
>I spent a little time on this, but am not sure where the problem lies. 
>Maybe I don't understand the purpose of the module.  Here is the code, 
>which is pretty similar to the example in the module documentation:
>
><code>
>#!/usr/local/bin/perl
>use strict;
>use warnings;
>use Net::LDAP;
>use Net::LDAP::Control::Paged;
>use Net::LDAP::Constant qw( LDAP_CONTROL_PAGED );
>
>my $ldap = Net::LDAP->new( "host", version => 3 );
>my $page = Net::LDAP::Control::Paged->new( size => 5 );
>
>my @args = ( base     => "DN",
>             scope    => "subtree",
>             filter   => "(surname=smith)",
>             control  => [ $page ],
>);
>
>my $cookie;
>my $pagect = 0;
>my $entryct = 0;
>while ( my $results = $ldap->search( @args ) ) {
>   $pagect++;
>   print "pagect: $pagect\n";
>   $results->code and last;
>
>   foreach my $entry ($results->entries) {
>      $entryct++;
>      print "   $entryct: cn => '", $entry->get_value('cn'), "'\n";
>   }
>
>   my ($response) = $results->control( LDAP_CONTROL_PAGED ) or last;
>   $cookie = $response->cookie or last;
>   $page->cookie($cookie);
>}
></code>
>
>My understanding is that the results should look somewhat like the 
>following:
><desired output>
>pagect: 1
>   1: cn => 'Betty L. Smith'
>   2: cn => 'Connie M Smith'
>   3: cn => 'Nelson L. Smith'
>   4: cn => 'Rhonda B. Smith'
>   5: cn => 'Sandra A. Smith'
>pagect: 2
>   6: cn => 'Jason E. Smith'
>   7: cn => 'Amanda L. Smith'
>   8: cn => 'Shannon V. Smith'
>   9: cn => 'Jennifer E. Smith'
>   10: cn => 'Jennifer S. Smith'
>pagect: 3
>   11: cn => 'Theresa M. 
>Smith' 
></desired output>
>
>but instead I get:
><real output>
>pagect: 1
>   1: cn => 'Betty L. Smith'
>   2: cn => 'Connie M Smith'
>   3: cn => 'Nelson L. Smith'
>   4: cn => 'Rhonda B. Smith'
>   5: cn => 'Sandra A. Smith'
>   6: cn => 'Jason E. Smith'
>   7: cn => 'Amanda L. Smith'
>   8: cn => 'Shannon V. Smith'
>   9: cn => 'Jennifer E. Smith'
>   10: cn => 'Jennifer S. Smith'
>   11: cn => 'Theresa M. 
>Smith' 
></real output>
>
>Am I overlooking something simple? Thanks in advance for any advice,
>
>Jim Longino
>Systems Analyst I
>University of South Alabama
>
>
>
>
> 
>



Reply via email to