Thread Setzen von Spezialvariablen in einem Modul (3 answers)
Opened by Kuerbis at 2013-03-30 15:33

pq
 2013-03-30 22:33
#166761 #166761
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
local wirkt anders als my. my ist sozusagen eine örtliche begrenzung, local kannst du eher als zeitliche begrenzung verstehen. es wirkt örtlich beschränkt in dem block, in dem es aufgerufen wird, aber auch in allen darin aufgerufenen subroutinen.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
$foo = 0;
{
    local $foo = 23;
    function();
}
function();

sub function {
    say "foo=$foo"
}
__END__
foo=23
foo=0


daher sollte man solche spezialvariablen in möglichst kleinen bereichen verändern, damit anderer code nicht davon betroffen ist.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Setzen von Spezialvariablen in einem Modul