hi Maik,
$a = "Hallo";
$$a = "Welt";print $Welt;
...den Text "Hallo Welt" aus.
Nana, soooo gibt datScript gar nichts aus ;-)
oh ja entschuldigung ..das sollte heissen:
print "$a $Hallo";
...das gibt dann "Hallo Welt" aus *g*
use vars qw(foo bar);
Da steig ich jetzt nicht ganz hinter ... :(
sorry, war ja auch mein Fehler. soll heißen
use vars qw($string %hash @array);
It means: strict() meckert immer dann wenn Variablen nicht deklariert sind.
Also deklariere!
use strict;
use vars qw(...);
was auch geht:
my $string;
my $string = 'irgendwas'; # Vorbelegung irgendwas
irgendwo im Script ganz oben
Zu Deiner Geschichte:
mit $$foo wird ein scalar dereferenziert. Dh. du hast eine Referenz auf ein scalar.
Schau mal:
use strict;
my $string = 'irgendwas';
my $ref = $string; # der backslash macht die Referenz
my $result = $$ref; # dereferenzieren
print $result; # irgendwas
In der Hoffnung, dass alle Klarheiten beseitigt sind ;-)
Rolf
such mal auf i-netlab nach dem PERL Tut. von Eike Grote