Rolf Rost: Variblen-Variable

Beitrag lesen

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