Thread Variablenscope
(7 answers)
Opened by bianca at 2013-01-09 15:34
Selbst wenn %test beim Aufruf nicht mehr im Scope wäre, kann Perl Closures.
Er merkt sich, dass es in der sub verwendet wird und wirfts deshalb nicht weg. [EDIT] Sowas funktioniert z.B. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 my %code; { my %test = ( foo => 'bar', ); %code = ( code => sub { my ($ref) = @_; $test{foo} = $ref; }, ); } # eigentlich endet hier der Scope für %test # der Aufruf funktioniert aber trotzdem $code{code}->('bar2'); Last edited: 2013-01-09 16:10:04 +0100 (CET) 1 + 1 = 10
|