Passing a list as an arg to a subroutine
- From: Mark Drummond <mark@xxxxxxxxxxxxx>
- Date: Tue, 07 Mar 2006 13:35:01 -0500
Hi all. I've been using Perl for many years now, but I am a "use it and learn it as you need it" type. I having some trouble passing a list to the "search" subroutine from Net::LDAP.
I am trying to pass a list of attributes to be returned by search. The basic method call is:
my $searchresults = $ldap->search(OPTIONS)
One of the options is "attrs =>" which the documentation describes as "A list of attributes to be returned for each entry that matches the search filter.".
I am able to do something like this no problem:
my $searchresults = $ldap->search (
base => "$searchbase",
filter => "$searchfilter",
attrs => [ 'uid', 'cn' ];
)
That works just fine.
But what I now want to do is provide the list of attributes to be returned on the command line much like the way ldapsearch works. @ARGV is the list of attributes to be returned. I am not sure how to pass @ARGV to search. I've tried just passing the array, references to the array, but nothing is working for me. The search completes, but, looking at the directory logs, the search is requesting ALL attributes rather than just the ones I want.
my $searchresults = $ldap->search (
base => "$searchbase",
filter => "$searchfilter",
attrs => @ARGV;
)
my $searchresults = $ldap->search (
base => "$searchbase",
filter => "$searchfilter",
attrs => \@ARGV;
)
I am sure I am just using a ref when I shouldn't be, or not using a ref when I should, or simply referencing the array incorrectly but I am not sure which one it is!
I actually have the same problem if I try to define the attributes outside the subroutine call. e.g., if I do this:
my $attrs = [ 'cn', 'uid' ];
my $searchresults = $ldap->search (
base => "$searchbase",
filter => "$searchfilter",
attrs => $attrs;
)
That is not working for me either. Something is broken in my understanding.
Thanks,
Mark
.
- Follow-Ups:
- Re: Passing a list as an arg to a subroutine
- From: Mark Drummond
- Re: Passing a list as an arg to a subroutine
- Prev by Date: infinite loop unexpectly dies
- Next by Date: Re: Passing a list as an arg to a subroutine
- Previous by thread: infinite loop unexpectly dies
- Next by thread: Re: Passing a list as an arg to a subroutine
- Index(es):
Relevant Pages
|
|