Guybrush Threepwood Geschrieben 10. April 2003 Teilen Geschrieben 10. April 2003 Hi, wie kann ich in Perl einer Funktion eine Referenz übergeben? Also so das die Funktion die ihr übergebene Variavle ändert. Gruß Guybrush Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
korea1 Geschrieben 10. April 2003 Teilen Geschrieben 10. April 2003 http://perl-seiten.bei.t-online.de/perl/perl_ref.html das könnte dir helfen, ansonsten einfach wieder melden. mfg korea1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 10. April 2003 Autor Teilen Geschrieben 10. April 2003 Danke schonmal, ich hab aber tatsächlich noch ein Problem:rolleyes: BSP: $test= "Hallo!"; funk(\$test); sub($ref) { print $ref; } So müsste es doch gehen, oder? Es wird nämlich nichts ausgegeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
korea1 Geschrieben 10. April 2003 Teilen Geschrieben 10. April 2003 müsstest du deine variable nicht wieder dereferenzieren? siehe beispiel aus dem link: Um von einer Referenz wieder zurück zur referenzierten Variablen zu kommen ("Dereferenzierung"), stellt man der Referenz das Symbol voran, das dem Typ des referenzierten Objekts entspricht. $nr = 42; $ref_nr = \$nr; $deref_nr = $$ref_nr; $test = "Hallo"; $ref_test = \$test; $de_ref_test = $$ref_test; dann müsste es funktionieren, oder? mfg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 10. April 2003 Autor Teilen Geschrieben 10. April 2003 Also das geht: $test = "Hallo!"; $r = \$test; print $$r; das aber nicht: $test = "Hallo!"; funk(\$test); sub funk($ref) { print $$ref; } :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
korea1 Geschrieben 10. April 2003 Teilen Geschrieben 10. April 2003 hi, $test = "Hallo!"; funk(\$test); sub funk($$ref) { print $$ref; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 10. April 2003 Autor Teilen Geschrieben 10. April 2003 Nö, auch nicht:( Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.disk Geschrieben 11. April 2003 Teilen Geschrieben 11. April 2003 Argumente an Funktionen können nicht 'direkt' übergeben werden - Du mußt Sie mit shift Dir erst noch holen... $test = 'Hallo'; printRef(\$test); sub printRef { $ref = shift; print $$ref; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.