Re: Package bestimmen

Frank Seitz:

> Oh ja, unter Perl 5.8.8 funktioniert es, wie ich es auch erwartet habe.
> Ich hatte unter Perl 5.8.6 gearbeitet, da kommt "main" raus.
> Dann handelt es sich wohl um einen Bug in der Version.

Ja. Die Funktion "m()" wird wohl in das Package "P" kompiliert,
aber das __PACKAGE__ Schlüsselwort vom Compiler falsch
übersetzt. Interessanterweise wird auch "main" ausgegeben, wenn
man test.pl in einem anderen Package kompiliert oder ein Block-
eval statt einem String-eval verwendet. Das ist bzw. war wirklich
ein Bug.

Schön, dass nicht nur immer ich auf seltsame Dinge stoße! ;-))
Ist übrigens schon in 5.8.7 behoben.

PS: Wen's interessiert: ich habe mir das Ganze mit dem Deparse-
Modul angesehen:

use B::Deparse;
...
print B::Deparse->new->codref2text(\&P::m);

gibt die kompilierte Methode aus.

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol [at] adv.magwien.gv.at
Ferry Bolhar [ Fr, 18 Mai 2007 08:59 ] [ ID #1715344 ]
Perl » de.comp.lang.perl.misc » Re: Package bestimmen

Vorheriges Thema: Text aus Email Nachrichten Body filtern
Nächstes Thema: Frage zu UNIVERSAL