/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Begrænsning af antal elementer?
Fra : Lars Kristensen


Dato : 30-01-03 11:30

Hej NG

Sidder og kæmper med noget opslag i en LDAP base på en Linux med perl 5.6.1.
I denne forbindelse har jeg behov for at få to felter fra alle records læst
ud idet det skal sammenlignes med en fil. Jeg er nu støt på "et loft": Jeg
kan ikke få mere end 500 records ud og jeg ved der er en del flere. Er der
en begrænsning jeg er støt på mon? Er der mon en metode til at omgå det hvis
der er en begrænsning?

- Lars



 
 
Adam Sjøgren (30-01-2003)
Kommentar
Fra : Adam Sjøgren


Dato : 30-01-03 13:35

On Thu, 30 Jan 2003 11:29:47 +0100, Lars Kristensen wrote:

> Jeg er nu støt på "et loft": Jeg kan ikke få mere end 500 records ud
> og jeg ved der er en del flere. Er der en begrænsning jeg er støt på
> mon? Er der mon en metode til at omgå det hvis der er en
> begrænsning?

Hvordan opdager du at du er stødt imod et loft? Hvad gør dit program,
der hvor det går galt? Hvilke moduler bruger du? Checker du alle
funktioners evt. fejlbeskeder?

Du må hoste op med nogle flere oplysninger, ellers er det dybt umuligt
at hjælpe dig.


Mvh.

--
"Fra én som sover for lidt, Adam Sjøgren
som synes verden er stor" asjo@koldfront.dk

Lars Kristensen (30-01-2003)
Kommentar
Fra : Lars Kristensen


Dato : 30-01-03 13:41


"Adam Sjøgren" <spamtrap@koldfront.dk> wrote in message
news:87y952g6ij.fsf@virgil.koldfront.dk...
> On Thu, 30 Jan 2003 11:29:47 +0100, Lars Kristensen wrote:
>
> > Jeg er nu støt på "et loft": Jeg kan ikke få mere end 500 records ud
> > og jeg ved der er en del flere. Er der en begrænsning jeg er støt på
> > mon? Er der mon en metode til at omgå det hvis der er en
> > begrænsning?
>
> Hvordan opdager du at du er stødt imod et loft? Hvad gør dit program,
> der hvor det går galt? Hvilke moduler bruger du? Checker du alle
> funktioners evt. fejlbeskeder?
>
> Du må hoste op med nogle flere oplysninger, ellers er det dybt umuligt
> at hjælpe dig.

Tak for interessen, men er ved at arbejde på en anden løsning i stedet. Kan
godt se nu - oven på frokosten - at jeg var lidt upræcis, men som sagt er
jeg i gang med en anden - måske knap så elegant løsning, men det virker, så:
Glem alt efter "Hej NG"....

- Lars



Adam Sjøgren (30-01-2003)
Kommentar
Fra : Adam Sjøgren


Dato : 30-01-03 13:46

On Thu, 30 Jan 2003 13:40:50 +0100, Lars Kristensen wrote:

> Tak for interessen, men er ved at arbejde på en anden løsning i
> stedet. Kan godt se nu - oven på frokosten - at jeg var lidt
> upræcis,

(Lidt?!

> men som sagt er jeg i gang med en anden - måske knap så elegant
> løsning, men det virker, så: Glem alt efter "Hej NG"....

Ok. Generelt er der som oftest aldrig sådan nogle vilkårlige loft at
støde hovedet ind i, i Perl.


Mvh.

--
"Fra én som sover for lidt, Adam Sjøgren
som synes verden er stor" asjo@koldfront.dk

Lars Kristensen (30-01-2003)
Kommentar
Fra : Lars Kristensen


Dato : 30-01-03 13:59


"Adam Sjøgren" <spamtrap@koldfront.dk> wrote in message
news:87smvag601.fsf@virgil.koldfront.dk...
> On Thu, 30 Jan 2003 13:40:50 +0100, Lars Kristensen wrote:
>
>
> Ok. Generelt er der som oftest aldrig sådan nogle vilkårlige loft at
> støde hovedet ind i, i Perl.
>
>

Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en integer ikke
kan indeholde et tal større end 65536. Jeg troede måske at der var en
begrænsning i samme stil blot med at man ikke kan hente mere end de 500
records ud i ens objekt. Bruger Net::LDAP modulet, men har ikke egentlig
ikke tænkt over at få udlæst fejl fra modulet.
Det her er min første opgave i perl, så mine tanker gør ikke så meget i de
retninger fordi jeg er vant til at de bliver smidt i hovedt på mig uden at
jeg behøver at bede om det. Er normal vant til C, C++ og ASP, men skal i det
her tilfælde lave nogle ting på en linux med perl og noget PHP så jeg er
ikke på hjemmebane, men det kommer jo nok når jeg får kigget noget mere på
det....

- Lars



Adam Sjøgren (30-01-2003)
Kommentar
Fra : Adam Sjøgren


Dato : 30-01-03 15:33

On Thu, 30 Jan 2003 13:59:18 +0100, Lars Kristensen wrote:

> Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en
> integer ikke kan indeholde et tal større end 65536.

(Det er vist kun på gamle maskiner eller med gamle oversættere at det
er så lavt?)

Perl har samme begrænsning på heltal (med mindre man bruger et modul
designet til enorme tal), men typisk er det på nogle milliarder og
ikke i størrelsesordenen 500.

> Jeg troede måske at der var en begrænsning i samme stil blot med at
> man ikke kan hente mere end de 500 records ud i ens objekt.

Det ville være meget syret hvis det var en begrænsning indbygget i
sproget, synes jeg.

Men fejlen kan jo sagtens ligge et andet sted.

> Bruger Net::LDAP modulet, men har ikke egentlig ikke tænkt over at
> få udlæst fejl fra modulet. Det her er min første opgave i perl, så
> mine tanker gør ikke så meget i de retninger fordi jeg er vant til
> at de bliver smidt i hovedt på mig uden at jeg behøver at bede om
> det.

Hm. Man bør altid checke returværdier.

> Er normal vant til C, C++ og ASP,

Det gælder da specielt i C og C++!

> men skal i det her tilfælde lave nogle ting på en linux med perl og
> noget PHP så jeg er ikke på hjemmebane, men det kommer jo nok når
> jeg får kigget noget mere på det....

Jeg synes ihvertfald Perl er rart til mange ting.


Mvh.

--
"Fra én som sover for lidt, Adam Sjøgren
som synes verden er stor" asjo@koldfront.dk

Adam Sjøgren (30-01-2003)
Kommentar
Fra : Adam Sjøgren


Dato : 30-01-03 15:50

On Thu, 30 Jan 2003 13:59:18 +0100, Lars Kristensen wrote:

> Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en
> integer ikke kan indeholde et tal større end 65536.

(Det er vist kun på gamle maskiner eller med gamle oversættere at det
er så lavt?)

> Jeg troede måske at der var en begrænsning i samme stil blot med at
> man ikke kan hente mere end de 500 records ud i ens objekt.

Det ville være meget syret hvis det var en begrænsning indbygget i
sproget, synes jeg.

Men fejlen kan jo sagtens ligge et andet sted.

> Bruger Net::LDAP modulet, men har ikke egentlig ikke tænkt over at
> få udlæst fejl fra modulet. Det her er min første opgave i perl, så
> mine tanker gør ikke så meget i de retninger fordi jeg er vant til
> at de bliver smidt i hovedt på mig uden at jeg behøver at bede om
> det.

Hm. Man bør altid checke returværdier.

> Er normal vant til C, C++ og ASP,

Det gælder da specielt i C og C++!

> men skal i det her tilfælde lave nogle ting på en linux med perl og
> noget PHP så jeg er ikke på hjemmebane, men det kommer jo nok når
> jeg får kigget noget mere på det....

Jeg synes ihvertfald Perl er rart til mange ting.


Mvh.

--
"Fra én som sover for lidt, Adam Sjøgren
som synes verden er stor" asjo@koldfront.dk

Lars Balker Rasmusse~ (30-01-2003)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 30-01-03 16:43

spamtrap@koldfront.dk (Adam Sjøgren) writes:
> On Thu, 30 Jan 2003 13:59:18 +0100, Lars Kristensen wrote:
> > Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en
> > integer ikke kan indeholde et tal større end 65536.
>
> (Det er vist kun på gamle maskiner eller med gamle oversættere at det
> er så lavt?)

Det er noget sludder alligevel, for int i C er signed, hvorfor
maxværdien er 32167, på 16-bit integer arkitekturer. Dem er der
ganske vist ikke mange tilbage af.

> > Jeg troede måske at der var en begrænsning i samme stil blot med at
> > man ikke kan hente mere end de 500 records ud i ens objekt.
>
> Det ville være meget syret hvis det var en begrænsning indbygget i
> sproget, synes jeg.

Perl er designet til ikke at have andre begrænsninger end fysisk
hukommelse.
--
Lars Balker Rasmussen                  "S.M.R.T."

Lars Kristensen (31-01-2003)
Kommentar
Fra : Lars Kristensen


Dato : 31-01-03 10:37


"Lars Balker Rasmussen" <lars@balker.org> wrote in message
news:0f3cnawsmx.fsf@laphroaig.balker.org...
> spamtrap@koldfront.dk (Adam Sjøgren) writes:
>
> Det er noget sludder alligevel, for int i C er signed, hvorfor
> maxværdien er 32167, på 16-bit integer arkitekturer. Dem er der
> ganske vist ikke mange tilbage af.
>

C i forbindelse med microprocessore...!?! Hvilket er det jeg beskæftiger mig
med!
Må indrømme at jeg ikke lige kunne huske antallet, men tog blot 2^16,
hvilket vel er rigtigt hvis man benytter unsigned int...

Mon ikke vi er ved at bevæge os over i det lidt mere OT

- Lars



Lasse Hillerøe Peter~ (31-01-2003)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 31-01-03 12:12

In article <0f3cnawsmx.fsf@laphroaig.balker.org>, Lars Balker Rasmussen
<lars@balker.org> wrote:

>spamtrap@koldfront.dk (Adam Sjøgren) writes:
>> On Thu, 30 Jan 2003 13:59:18 +0100, Lars Kristensen wrote:
>> > Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en
>> > integer ikke kan indeholde et tal større end 65536.
>>
>> (Det er vist kun på gamle maskiner eller med gamle oversættere at det
>> er så lavt?)
>
>Det er noget sludder alligevel, for int i C er signed, hvorfor
>maxværdien er 32167, på 16-bit integer arkitekturer. Dem er der
>ganske vist ikke mange tilbage af.

Tsk tsk Balker. Man skal ikke smide med konstanter når man selv ikke kan
sin 2-(potens)tabel. 2**15-1 == 32767.

Men måske vil du bytte min 100kr seddel til en 500kr og en 200kr næste
gang på bryggeriet, hvis du synes at 7 == 1?

(At Lars K så begår en off-by-one ved at skrive 65536 i stedet for 65535
er en anden snak.)

FOLKENS! 2-potenser er kommet for at blive! Lær dem! (Og vær glade for at
det ikke er det trinære talsystem vi bruger i faget - i hvert fald ikke
siden ENIAC eller deromkring!)

For i øvrigt at sige noget begavet om det oprindelige LDAP-problem, så kig
på RFC'en (nr. 2251),

"- sizelimit: A sizelimit that restricts the maximum number of entries
to be returned as a result of the search. A value of 0 in this
field indicates that no client-requested sizelimit restrictions are
in effect for the search. Servers may enforce a maximum number of
entries to return."

Måske sætter Lars K (eller Net::LDAP?) en default sizelimit på 500? Måske
gør hans server?

-Lasse

Thorbjoern Ravn Ande~ (31-01-2003)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 31-01-03 13:07

lhp+news@toft-hp.dk (Lasse Hillerøe Petersen) writes:

> FOLKENS! 2-potenser er kommet for at blive! Lær dem! (Og vær glade for at
> det ikke er det trinære talsystem vi bruger i faget - i hvert fald ikke
> siden ENIAC eller deromkring!)

Hvorfor ikke? Bliver tallene for store for hurtigt?

Perl er - som altid - ligeglad:

perl -le 'print 3**3**3'

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Lars Balker Rasmusse~ (31-01-2003)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 31-01-03 13:45

lhp+news@toft-hp.dk (Lasse Hillerøe Petersen) writes:
> In article <0f3cnawsmx.fsf@laphroaig.balker.org>, Lars Balker Rasmussen
> <lars@balker.org> wrote:
> >Det er noget sludder alligevel, for int i C er signed, hvorfor
> >maxværdien er 32167, på 16-bit integer arkitekturer. Dem er der
> >ganske vist ikke mange tilbage af.
>
> Tsk tsk Balker. Man skal ikke smide med konstanter når man selv ikke kan
> sin 2-(potens)tabel. 2**15-1 == 32767.

Det var en typo! Ja! 1 og 7 sidder lige ved siden af hinanden på mit
modificerede tastatur.

> Men måske vil du bytte min 100kr seddel til en 500kr og en 200kr næste
> gang på bryggeriet, hvis du synes at 7 == 1?

Naturligvis - du plejer jo ikke at dukke op alligevel.
--
Lars Balker Rasmussen                  "S.M.R.T."

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste