[Vienna-pm] create reference from string?

peter pilsl pilsl at goldfisch.at
Mon Jan 12 09:47:11 PST 2009


Ich hab ein verzwicktes Problem.  Ein Modul (von CPAN) sollte auf eine
bestimmte Methode als Ergebnis eine Hashreferenz zurückliefern mit
id-nummern als keys, die wieder auf array-refs zeigen, also

id1 => ARRAYREF1,
id2 => ARRAYREF2,
usw.

stattdessen erhalte ich zB:

{
  'ARRAY(0xb3f090)' => '623975'
};

und der key 'ARRAY(0xb3f090)' ist ein string   (ref() auf den key ergibt
den leerstring, also keine reference.

Nun gibt es zwei Möglichkeiten:

i) entweder ich versteh da einfach was nicht
ii) im Modul ist ein bug und da lauft einfach was schief.

nach viel nachdenken bin ich derzeit eher zu Variante ii) geneigt und
bevor ich mir jetzt den modul-code vornehm und/oder einen bug-report
schicke, frage ich mich, obs eine Methode gibt, den string
'ARRAY(0xb3f090)' zu un-dereferenzieren (?), sodass ich Zugriff aus das
Array bekomme, das hier beschrieben wird.

Dann könnt ich nämlich mal schauen, ob dort das drinnen ist was ich
erwarte und wüsste auch besser, wonach ich beim debuggen eigentlich
suchen müsste.

Hoffe, ich hab mein problem halbwegs klar beschrieben :)


kurzversion wäre:

$a=[1,2,3];
$b=$a."\n";
chomp $b;
# $b ist nun ein echter string
print $b," ",ref($b),"\n";

Und dann will ich von $b wieder auf das array [1,2,3], natürlich ohne $a
zu verwenden ...


danke
lg
peter


ps: das modul mit dem ich dieses problem hab ist Net::IMAP::Client und
die Funktion get_flags()



-- 
mag. peter pilsl - goldfisch.at
IT-Consulting
Tel: +43-699-11288470
Tel: +43-1-8900602
Fax: +43-1-8900602-15
skype: peter.pilsl
pilsl at goldfisch.at
www.goldfisch.at


More information about the Vienna-pm mailing list