Guest chris05133Erstmal Danke für die schnelle Antwort. ;)
Ursprünglich hatte ich die zeile in der schleife auch so stehen:
my $row = .... Dann bekomme ich aber gar nichts mehr angezeigt wenn ich die Objekte aus der Queue hole und z. B. ausgebe.
dann muss der fehler woanders liegen.
mach mal statt der queue ein einfaches array:
my @queue;
my $row = ...;
push @queue, $row;
...
und schau mal, was bei rauskommt.
QuoteProgrammiert habe bisher in Java oder C/C++ und da gibt es ja sowas wie $ nicht, bzw. in C/C++ sonst ja die Operatoren & und * für den Umgang mit Variablen. Naja, aber so langsam gewöhn ich mich dran.
aber das ist ganz normal, wenn man zwischen den sprachen wechselt. habe lange zeit fast nur perl gemacht und kürzlich C++ gelernt (und auch nie C vorher gemacht).
2 wochen lang intensiv C++ gemacht und als ich wieder perl schrieb, wollte ich eine sub plötzlich so schreiben:
sub foo($arg1, $arg2) { }
=)
das referenzsystem in perl finde ich einfacher zu überblicken. sobald du eine datenstruktur/objekt hast, ist es automatisch eine referenz, und du hantierst nur mit der adresse sozusagen. willst du eine kopie, musst du es explizit dereferenzieren, und bei verschachtelten strukturen muss jede ebene explizit kopiert werden.
in C++ hat mich erstmal irritiert, dass praktisch überall kopiert wird, wenn du nicht & benutzt.