Thread Bad name after...
(52 answers)
Opened by bianca at 2015-02-19 12:08
Das Problem scheint nicht klar geworden zu sein. Ich versuchs mal mit einem größeren Testaufbau, der mein Problem richtig nachstellt:
Hauptscript: 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 #!/usr/bin/perl use strict; use warnings; my @dispatchtab = ( { moduldatei => 'test_extern.pl', aufruf_sub => \&testsub, } # hier sind natürlich noch ganz viele ); foreach my $ref (@dispatchtab) { # nur der Code innerhalb dieser Schleife darf geändert werden, sonst nichts! { package modulscope; require $ref->{moduldatei}; $ref->{aufruf_sub}->('a'); } } sub testsub { print "Fehler, falsche sub!\n"; } test_extern.pl: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 #!/usr/bin/perl use strict; use warnings; # dieser Code hier steht in der test_extern.pl sub testsub { print "Gewonnen! Sub $_[0]\n"; } return '1'; Frage dazu: Wie - mit welcher Syntax im Hauptscript - schaffe ich es, als Ausgabe "Gewonnen! Sub a" ohne Fehler - insbesondere ohne "Subroutine testsub redefined at test_extern.pl..." und ohne "Fehler, falsche sub!" - hinzubekommen? Bedingung: nur der code in der Schleife darf geändert werden, sonst nichts. 10 print "Hallo"
20 goto 10 |