Sida 1 av 1

Perl: Can't locate object method [LÖST]

Postat: 23 okt 2007, 14:55
av Lucifer
Håller på och plockar ihop ett perl script som ska hålla reda på anslutningar. Varje anslutning har ett namn och ska lagras i en hash. Hashen har jag döpt till _form. Namnet på anslutningen lagrar jag som nyckel i hashen.

Innan jag skapar en ny anslutning vill jag kolla om det redan finns en anslutning och därför testade jag om det gick att skriva som nedan vilket jag lite naivt hade hoppats på skulle fungera. {_$form} ska föreställa nyckeln i hashen.

Kod: Markera allt

if(defined($this->{_form}->{_$form})) {
....
}
Men när jag kör if-blocket ovan får jag följande.
Can't locate object method "_" via package "User" (perhaps you forgot to load "U
ser"?) at con.pl line 112.
Det meddelandet tolkar jag som att den försöker köra en metod istället för att leta i en hash?

Är ganska säker på att det bara är ett syntax fel om än ett ganska grovt sådant... Har bara hållit på med Perl i några dagar så förklara gärna grundligt och förutsätt inget :)

Någon som förstår vad jag pratar om?

SV: Perl: Can't locate object method

Postat: 23 okt 2007, 15:13
av Lucifer
Pinsamt när det var så enkelt ;D

Detta löste det.

Kod: Markera allt

if(defined($this->{_form}{$form}))