Kai Diefenbach: Inhalt eines Strings als Variablenname?

Beitrag lesen

Hallo,

Mein Problem: ich habe einen Variable, die einen String enthält (den ich erst zur Laufzeit des Scripts kenne) und diesen will ich als Variablennamen nutzen. Beispiel:

$varname="test";

#hier möchte ich der Variablen mit dem Namen aus $varname, also $test, einen Wert zuweisen...

my $varname = 'test';
$$varname = 'inhalt';
print $test;

__END__

Allerdings ist das unsauber und läuft darum auch nicht unter use strict.

Besser finde ich die Verwendung eines Hashes:

#!perl -w
use strict;

my $name = 'test';

my %var;
$var{$name} = 'inhalt';

print $var{test};
__END__

Gruß Kai