Hallo!
Aber ich dachte es ist eine lokale Variable nur in Unterprogrammen und nicht in einer Anweisung (Z.B. if oder for-Schleife!) ???
Variablen, die mit my innerhalb einer Schleife (while|for|if|unless) deklariert werden, sind lokale Variablen und gelten nur innerhalb dieser Schleife.
my var1;
sub blabla
{
my $var2;
if(bedingung)
{
my $var3;
}
}
Hier gilt $var2 innerhalb der gesamten Subroutine, d.h. auch innerhalb der if-Schleife, ist aber eine lokale Variable. $var3 dagegen gilt nur innerhalb der if-Schleife und ist ebenfalls eine lokale Variable. $var1 ist eine globale Variable und gilt im gesamten Bereich.
Ich hoffe, es kommt langsam Licht ins Dunkel.
Gruß Markus