Thread Variablenscope (7 answers)
Opened by bianca at 2013-01-09 15:34

renee
 2013-01-09 17:35
#164821 #164821
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Guest Gast
Du meinst sicher die Referenz auf die Sub ...


Nein, es kommt auf die Subroutine an (auch wenn diese hier anonym ist)

Code: (dl )
1
2
3
$ perl -Mstrict -E '{ my %foo = (test => 1); my $sub = \&test; $sub->() } sub test { print $foo{test} }'
Global symbol "%foo" requires explicit package name at -e line 1.
Execution of -e aborted due to compilation errors.

=> %foo ist zu dem Zeitpunkt der Referenzerzeugung gültig
Code: (dl )
1
2
$ perl -Mstrict -E '{ my %foo = (test => 1);  sub test { print $foo{test} } } my $sub = \&test; $sub->()'
1

=> %foo ist zum Zeitpunkt der Referenzerzeugung nicht mehr gültig
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Variablenscope