Thread Bad name after...
(52 answers)
Opened by bianca at 2015-02-19 12:08
Ich hab nicht verstanden, wie ich das bei mir implementiere. Habs mal so versucht:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #!/usr/bin/perl use strict; use warnings; my @dispatchtab = ( { moduldatei => 'test_extern.pl', aufruf_sub => \&testsub, aufruf_neu => 'testsub', unit => 'unit1', }, { moduldatei => 'test_extern2.pl', aufruf_sub => \&testsub, aufruf_neu => 'testsub', unit => 'unit2', }, # hier sind natürlich noch ganz viele ); foreach my $ref (@dispatchtab) { my $source = do{ my $fh = IO::File->new; $fh->open($ref->{moduldatei},'r') or die $!; read($fh, my $buffer, -s $fh); $fh->close; "package $ref->{unit};\n".$buffer; }; eval "$source"; $ref->{aufruf_neu}->('a'); # FQN: Der Name der Package ist das erste Argument! } Das wirft: Quote Was hab ich falsch gemacht? Bei dir ist doch $unit->foo(); auch ein String, denn $unit bekommt doch aus qw(foo bar); entweder foo oder bar, oder nicht? 10 print "Hallo"
20 goto 10 |