Avatar billede withli Nybegynder
18. januar 2005 - 14:54 Der er 6 kommentarer og
1 løsning

to EQ or not to EQ

Hejsa.

Jeg har et mindre problem.

Jeg vil gerne sammenligne en værdi i et hash med en streng, men det får jeg ikke lov til.

Jeg skriver følgende

if ($myhash{s} eq $mystringvar)
{
  # do some stuff
}

Hvis jeg skriver de to ud, er de eksakt ens, men jeg kan alligevel ikke sammenligne på dem, nogle der har en ide om hvorfor?
Avatar billede mfalck Praktikant
18. januar 2005 - 14:56 #1
hvad sker der hvis du lægger den over i en streng ala

$tmp = $myhash{s};
if ($tmp eq $mystringvar)
{
  # do some stuff
}
Avatar billede mfalck Praktikant
18. januar 2005 - 14:57 #2
hvad er indholdet af hashen ? er det en streng ?
Avatar billede erikjacobsen Ekspert
18. januar 2005 - 15:01 #3
Ja, det bør virke. Kan du give flere oplysninger?

$myhash{'s'}="hvemhvadhvor";
$mystringvar="hvemhvadhvor";

if ($myhash{'s'} eq $mystringvar) {
  print "Du har vundet guleroden\n";
}
Avatar billede withli Nybegynder
18. januar 2005 - 15:09 #4
jeg forsøger mig lige med mfalcks forslag.

Hvis jeg skriver de to ud ved siden af hinanden så får jeg følgende resultat

AME_CHEM_SOCIETY
AME_CHEM_SOCIETY

Så de er temmelig ens :(
Avatar billede erikjacobsen Ekspert
18. januar 2005 - 15:10 #5
Du skal checke om der er "usynlige" mellemrum før eller efter - det kan man ikke
se, med mindre man har Supermands røntgensyn ;)  Fx:

  print "**$minvar**";
Avatar billede withli Nybegynder
18. januar 2005 - 15:24 #6
Det er muy bizart, nu chomper jeg og chopper begge variabler, og det lader ikke til at give nogen som helst former for ændring at all.
Avatar billede withli Nybegynder
30. marts 2005 - 09:46 #7
a
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester