Thread Wx- Compile (20 answers)
Opened by Hubbi at 2010-05-27 13:23

MatthiasW
 2010-05-27 21:55
#137692 #137692
User since
2008-01-27
367 Artikel
BenutzerIn
[default_avatar]
2010-05-27T18:31:52 esskar
2010-05-27T16:30:05 MatthiasW
Die Subroutine wird von deinem Modul anscheinend nicht exportiert, sodass du sie nicht so aufrufen kannst wie in deinem Beispiel.

aber, dann könnte sie doch nie aufgerufen werden, oder?

Vor der Übersetzung in Bytecode hätte das auch diesen Fehler geben müssen, da haste Recht. Das mit dem Exportieren war wohl ein Schnellschuss :-|

2010-05-27T18:31:52 esskar
ich denke mal, Exportieren ist nich vom Byte-Dings-Da-Bums-Da unterstützt.

Also, wenn das Modul nicht schon in Bytecode übersetzt wurde funktioniert es:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#Foo.pm
package Foo;
sub import { *{caller().'::foo'} = \&foo }
sub foo { 'bar' }
1;

# $ perl -MO=Bytecode,-H,-ofoo -E 'use Foo; say foo'
# -e syntax OK
# $ perl foo
# bar


Gast Hubbi
P.S. Das Modul ist auch in Bytescode.

Ich denke es ist auch nicht nötig vorher alle Module in Bytecode zu übersetzen, da das doch sowieso getan wird, wenn das Skript, welches die Module lädt übersetzt wird, oder? Vielleicht ist das ja das Problem.

Ansonsten fällt mir nichts ein, woran es denn liegen könnte. *kopfkratz*

MfG
perl -E'*==*",s;;%ENV=~m,..$,,$&+42;e,$==f;$"++for+ab..an;@"=qw,u t,,print+chr;sub f{split}say"@{=} me"'

View full thread Wx- Compile