Hi list, could someone help me in understanding what the SampleLDAP.pm perl module do in its search routine?
This is the code: -------- sub search { my $this = shift; my ( $base, $scope, $deref, $sizeLim, $timeLim, $filterStr, $attrOnly, @attrs ) = @_; print {*STDERR} "====$filterStr====\n"; $filterStr =~ s/(|)//gm; $filterStr =~ s/=/: /m;
my @match_dn = (); for my $dn ( *keys %{$this}* ) { if ( $this->{$dn} =~ /$filterStr/imx ) { push @match_dn, $dn; last if ( scalar @match_dn == $sizeLim );
} }
my @match_entries = ();
for my $dn (@match_dn) { push @match_entries, $this->{$dn}; }
return ( 0, @match_entries );
} --------
I'm interested in knowing what "keys %{$this}" should contain and why, in trying to use this sample perl module I cannot see any "key" of the array variable $this.
I configured the database in this way:
database perl suffix "dc=perl,dc=com" perlModulePath /tmp/appoggio/ perlModule SampleLDAP
Thanks in advance Marco