Moin!
ist es möglich eine globale Variable erst in einem Block zu deklarieren ?
Hier mal ein Beispiel:use strict;
use warnings;my $var = "Fische";
print " Hallo $var \n";
{
our $var2 = "Hunde";
print " Hallo $var2 \n";
}
print " Hallo $var \n";
print " Hallo $var2 \n";Das gibt folgende Fehlermeldung:
Variable "$var2" is not imported at D:\Proggen\Perl\our.pl line 15.
Wie kann ich denn die Variable $vars "importieren" ?
"An our declares the listed variables to be valid globals within the enclosing block, file, or eval. That is, it has the same scoping rules as a "my" declaration, but does not create a local variable."
Das heisst, $var2 wird an der schliessenden geschweiften Klammer vergessen.
Du kannst aber ganz normal
use vars qw/$var2/;
schreiben, auch innerhalb des Blocks. Du solltest $var2 dann aber nicht weiter oben im Quelltext verwenden.
So long
Es gibt Diebe, die nicht bestraft werden und einem doch das Kostbarste stehlen: die Zeit.
-- Napoleon Bonaparte