Variablennamen zusammenbasteln
Stefan
- perl
Hallo, Leute!
Ich bitte um Hilfe bei folgendem Problem:
Nehmen wir an, ich hätte 5 Arrays: @a01, @a02, @a03, @a04 und @a05.
Nun möchte ich, dass als Reaktion auf eine Funktion aus dem Rückgabewert derselben der passende Array ausgewählt wird, um auf die einzelnen Elemente desselben zugreifen zu können.
Die Funktion gibt "01" zurück -> ich brauche @a01.
Die Funktion gibt "02" zurück -> ich brauche @a02.
etc.
Die Anzahl der Arrays verändert sich jedoch ständig.
Kennt jemand eine Lösung?
Vielen Dank im Voraus
Hoi,
Die Funktion gibt "01" zurück -> ich brauche @a01.
Die Funktion gibt "02" zurück -> ich brauche @a02.
etc.
Die Anzahl der Arrays verändert sich jedoch ständig.
Das schreit nach einer LoL ;-)
my @lists = (
[1,2,3,4], # a01
[5,6,7,8], # a02
[9,10,11,12] # a03
);
my $tmparray = $lists[get_array()];
Naheres unter 'perldoc perllol' (http://www.perldoc.com/).
Wenn das nicht moeglich ist, kannst du ja auch mal
my @tmparray = @{get_array());
versuchen. Duerfte aber nicht 'use strict'-faehig sein.
Gruesse,
c.j.k
Hallo c.j.k,
my @tmparray = @{get_array());
versuchen. Duerfte aber nicht 'use strict'-faehig sein.
Hab's jetzt nicht probiert, aber zumindest
my $tmp = get_array();
my @tmparray = @$tmp;
müßte doch strict-fähig sein.
ansonsten ACK, LoL oder Hash of Lists ist der Königsweg.
btw: verwendest Du eine amerikanische Tastarur?
Grüße
K@rl
Hoi Karl,
my @tmparray = @{get_array());
versuchen. Duerfte aber nicht 'use strict'-faehig sein.
Hab's jetzt nicht probiert, aber zumindest
my $tmp = get_array();
my @tmparray = @$tmp;
müßte doch strict-fähig sein.
Klar. @tmparray = @{get_array()};
ist auch strict-faehig -- solange get_array() eine Array-Referenz zurueck gibt.
Aber er wollte ja einen String zurueck bekommen, *das* ist nicht strict-faehig ;-)
btw: verwendest Du eine amerikanische Tastarur?
Noe. Eine deutsche ;-)
Fragst du wegen der Umlaute? Das ist reine Ruecksichtnahme auf Systeme/Browser,
die keine Umlaute darstellen koennen. Und natuerlich Gewohnheit ;-)
Gruesse,
c.j.k