Hallo Struppi,
@all_ids = ();
get "id == *", "links";
while (get_next("links")){
push (@all_ids, $_id);
}
Aus deinem Beispile läßt sich nicht erkennen, was für ein Typ $_id ist.
Du musst beim Push nur einen Datenyp dieser Art erzeugen.
$_id ist ein Integer. Lege ich dann einfach einen neuen mit "my $somenew" innerhalb der Schleife an?
Also:
@all_ids = ();
get "id == *", "links";
while (get_next("links")){
my $somenew = $_id;
push (@all_ids, $somenew);
}
?
Wie mache ich (und jetzt kommt das Problem) ohne zusätzliche require/use Anweisungen zu gebrauchen, eine "deep copy" von $_id?
Was hast du den gegen use? Die Verfügbarkeit von Modulen ist eine der größten Stärken von Perl.
Ich weiss. Ich würde ja auch, wenn ich könnte. Aber ich verwende Perl hier als "kastrierte" Version, ohne Möglichkeit für require/use. Deshalb muss es ohne gehen.
Naja, wenn du einen skalar von einem komplexen Datentyp auf ein Array pushst, dann wird halt nur der Skalar also die Referenz verwendet, wenn du etwas anderes willst musst du es Perl sagen.
Deswegen frage ich ja hier :-)
Gruß,
Tobias