/ 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
hvor halter logikken? (novicespgsm.)
Fra : CykelSmeden fra Aalb~


Dato : 10-11-03 23:04

Jeg har leget lidt med nogle ændringer i et perlscript, men det driller mig:

## test af vars i TstFil
open (FIL, ">>$Config{'db_path'}$Config{'db_file'}.tst") ;
print FIL "$Config{'key'}nøgle \n";
print FIL "$globalkey-- \n"; # ok!!!!
print FIL "$localkey++ \n" ;
close FIL;


# hvis keys = ens fortsæt, ellers popup i &return_keyerr

if ({$localkey}!={$globalkey}) { &return_keyerr;}
else.....osv.

TstFilen får følgende:
d5e8fnøgle
d5e8f--
d5e8f++

så altså er mine variabler ens(d5e8f), MEN den render hvergang i
&return_keyerr

hvorfor?

finn



--
--- CykelSmeden.... edb på gadeplan

Hvis intet er anført, taler jeg om RH 7.1
og når jeg spørger, er det bare fordi jeg ved for lidt!



 
 
Henrik Christian Gro~ (10-11-2003)
Kommentar
Fra : Henrik Christian Gro~


Dato : 10-11-03 23:24

"CykelSmeden fra Aalborg" <outlook@acnord.SLET.dk> writes:

> if ({$localkey}!={$globalkey}) { &return_keyerr;}
> else.....osv.
>
> TstFilen får følgende:
> d5e8fnøgle
> d5e8f--
> d5e8f++
>
> så altså er mine variabler ens(d5e8f), MEN den render hvergang i
> &return_keyerr
>
> hvorfor?

Fordi != er til at sammenligne tal og dine nøgler ikke er tal.

..Henrik

--
"Det er fundamentalt noget humanistisk vås, at der er noget,
der hedder blød matematik."
--- citat Henrik Jeppesen, dekan for det naturvidenskabelige fakultet

Kim Hansen (10-11-2003)
Kommentar
Fra : Kim Hansen


Dato : 10-11-03 23:47

Henrik Christian Grove <grove@sslug.dk> writes:

> "CykelSmeden fra Aalborg" <outlook@acnord.SLET.dk> writes:
>
> > if ({$localkey}!={$globalkey}) { &return_keyerr;}
> > else.....osv.
> >
> > TstFilen får følgende:
> > d5e8fnøgle
> > d5e8f--
> > d5e8f++
> >
> > så altså er mine variabler ens(d5e8f), MEN den render hvergang i
> > &return_keyerr
> >
> > hvorfor?
>
> Fordi != er til at sammenligne tal og dine nøgler ikke er tal.

Jeg laver tit samme fejl, men Perl advarer mig fordi jeg altid slår
warnings til:

post@matrix$ perl -le'if ("a"!="b") {print "forskellige"}'
post@matrix$ perl -le'use warnings; if ("a"!="b") {print "forskellige"}'
Argument "b" isn't numeric in numeric ne (!=) at -e line 1.
Argument "a" isn't numeric in numeric ne (!=) at -e line 1.
post@matrix$ perl -le'use warnings; if (1!=2) {print "forskellige"}'
forskellige
post@matrix$ perl -w -le'if ("a"!="b") {print "forskellige"}'
Argument "b" isn't numeric in numeric ne (!=) at -e line 1.
Argument "a" isn't numeric in numeric ne (!=) at -e line 1.
post@matrix$

--
Kim Hansen | |\ _,,,---,,_ | Det er ikke
Dalslandsgade 8, A708 | /,`.-´` -. ;:-. | Jeopardy.
2300 København S | |,4- ) )-,_. ,\ ( `'-' | Svar _efter_
Tlf: 32 88 60 86 | '---''(_/--' `-'\_) | spørgsmålet.

CykelSmeden fra Aalb~ (11-11-2003)
Kommentar
Fra : CykelSmeden fra Aalb~


Dato : 11-11-03 00:32

Kim Hansen wrote:
> Henrik Christian Grove <grove@sslug.dk> writes:
>
> Jeg laver tit samme fejl, men Perl advarer mig fordi jeg altid slår
> warnings til:
>
> post@matrix$ perl -le'if ("a"!="b") {print "forskellige"}'

Tak.

Jeg har endnu ikke fundet ud af at simulere scripts exekvering under apache,
så jeg kører det direkte. Nu fandt jeg så ud af at fejlmeldingerne står i
httpd-errorlogen.

tak - det kører nu

finn



Lars Balker Rasmusse~ (11-11-2003)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 11-11-03 00:20

Henrik Christian Grove <grove@sslug.dk> writes:
> "CykelSmeden fra Aalborg" <outlook@acnord.SLET.dk> writes:
>
>> if ({$localkey}!={$globalkey}) { &return_keyerr;}
>> else.....osv.
>>
>> TstFilen får følgende:
>> d5e8fnøgle
>> d5e8f--
>> d5e8f++
>>
>> så altså er mine variabler ens(d5e8f), MEN den render hvergang i
>> &return_keyerr
>>
>> hvorfor?
>
> Fordi != er til at sammenligne tal og dine nøgler ikke er tal.

Det er så knap så vigtigt, da han sammenligner to hashes.

% perl -le '$key = "flaf"; print "", {$key}, {$key}'
HASH(0x811e15c)HASH(0x811e2dc)

{} genererer en anonym hashref, hvilket absolut ikke er hvad du vil.
Prøv med ($localkey ne $globalkey)
--
Lars Balker Rasmussen Consult::Perl

Henrik Christian Gro~ (11-11-2003)
Kommentar
Fra : Henrik Christian Gro~


Dato : 11-11-03 12:58

Lars Balker Rasmussen <lars@balker.org> writes:

> Henrik Christian Grove <grove@sslug.dk> writes:
> > "CykelSmeden fra Aalborg" <outlook@acnord.SLET.dk> writes:
> >
> >> if ({$localkey}!={$globalkey}) { &return_keyerr;}

> > Fordi != er til at sammenligne tal og dine nøgler ikke er tal.
>
> Det er så knap så vigtigt, da han sammenligner to hashes.

Av, hvordan kunne jeg overse det?

..Henrik

--
"Det er fundamentalt noget humanistisk vås, at der er noget,
der hedder blød matematik."
--- citat Henrik Jeppesen, dekan for det naturvidenskabelige fakultet

CykelSmeden fra Aalb~ (11-11-2003)
Kommentar
Fra : CykelSmeden fra Aalb~


Dato : 11-11-03 19:49

Henrik Christian Grove wrote:
> Lars Balker Rasmussen <lars@balker.org> writes:
>
>> Henrik Christian Grove <grove@sslug.dk> writes:

>>
>> Det er så knap så vigtigt, da han sammenligner to hashes.
>
> Av, hvordan kunne jeg overse det?
>

Jeg fik det til at virke sel,ved netop Lars' model, selv om jeg ikke kendte
begrebet "hashes", men tak for undervisningen

det er rart at vide at selv nogen som kendte begrebet ikke umiddelbart kunne
se det.

(success er godt! - andres fejltagelser er heller ikke at foragte)

Tak for hjælpen
finn




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

Månedens bedste
Årets bedste
Sidste års bedste