[vienna.pm] foreach (my, local)

Toni Andjelkovic toni at devnull.at
Tue Jul 11 13:23:55 CDT 2000


* * * vienna-pm-list * * *


Johannes Fuernkranz wrote on Tue, Jul 11 2000 (18:21:29 +0200):
> Frage 2: Fuer System-Variablen braucht man also local (my $_ = ...; darf
> man nicht). Gibt es sonst noch Faelle, wo man local braucht? Wenn nein,
[...]
> koennte man dann nicht einfach 'my' und 'local' zu einem vereinigen,
> welches my fuer user-definierte Variablen nimmt und local fuer
> System-Variablen?

die "system"-variablen könnte man damit vielleicht erschlagen,
aber was mache ich wenn ich z. b. local() auf eine "globale"
package-variable anwenden möchte? s. u. main::a im beispiel.


> sub xy {
>   local $i;
>   for $i (..) {...}
> }
> 
> Das macht ja nun gar keinen Sinn, weil die Variable innerhalb des
> for-loops auf jeden Fall over-shadowed wird (sei es nun mit 'my' oder mit
> 'local'). Oder?

in der schleife vielleicht nicht, aber darüber hinaus?

#!/usr/bin/perl
$a = "111";
fruehstueck();
print "--\n";
abendessen();
exit(0);

sub fruehstueck
{
    my $a = "mahlzeit\n";
    print $a;
    for $a (1..5) { essen(); }
    print $a;
    return;
}

sub essen
{
    print $a, "\n";
    return;
}

sub abendessen
{
    local $a = "mahlzeit\n";
    print $a;
    for $a (1..5) { essen(); }
    print $a;
    return;
}

cu,
-- 
Toni Andjelkovic  | Schrecklich sind die Anspruchslosen.
toni at devnull.at   | Die nichts fordern, gewaehren auch nichts.
                  |   -- Peter Hille
###
You are subscribed to vienna-pm-list as Toni Andjelkovic <toni at devnull.at>
http://www.fff.at/fff/vienna.pm/



More information about the Vienna-pm mailing list