Thread Referenzen von Variablen Funktionen übergeben die noch nicht da sind.
(7 answers)
Opened by unwichtig at 2012-02-25 19:49
Hi,
Code (perl): (dl
)
my %whatever = ( -command => go($b) ); # läuft sofort los go() muss sofort loslaufen, weil Du es so programmiert hast. go() wird ausgeführt und die Rückgabe wird als "Value" zu "-command" verwendet. Richtiger in Deinem Sinne sollte es wahrscheinlich so sein: Code (perl): (dl
)
1 2 3 4 5 6 7 # wenn nur go() ohne argumente aufgerufen werden soll # Referenz auf go() wird direkt verwendet my %whatever = ( -command => \&go ); # läuft sofort los # wenn Du Argumente mitgeben willst, kannst Du das so tun: # Referenz auf anonyme Subroutine, die ihrerseits go() mit Argument $b aufruft my %whatever = ( -command => sub { go($b) } ); # läuft sofort los edit: \&go() - () ==> \&go :/edit Last edited: 2012-02-25 20:52:34 +0100 (CET) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |