Tobias mit Perl Problemen: deep copy versus shallow copy

Beitrag lesen

Hallo liebe Perl Freunde,

Ich habe ein Problem mit einer Schleife, in der ich eine Umgebungsvariable einlese ($_id):

@all_ids = ();
get "id == *", "links";
while (get_next("links")){
push (@all_ids, $_id);
}

Am Ende steht immer ein und derselbe Wert in meinem Array, weil durch push (@all_ids, $_id); immer nur "shallow copies" in das Array geschoben werden und der letzte gültige Wert von $_id sich dann quasi überall befindet, weil nur Referenzen existieren.

Wie mache ich (und jetzt kommt das Problem) ohne zusätzliche require/use Anweisungen zu gebrauchen, eine "deep copy" von $_id?

Für jede gute Erklärung bin ich sehr dankbar. Ich habe zwar die ein oder andere Perl Seite gefunden, die sich mit deep copies beschäftigt, aber ich verstehe nicht, warum ein so tiefgehendes Konzept immer gleich an Mummutbeispielen mit Hashes und ewig vielen Einträgen erklärt werden muss...

Gruß,
Tobias