Thread Array of objects
(6 answers)
Opened by kajoxx at 2009-12-03 21:33 Guest kajoxx Ganz genau. Es geht allerdings auch anders: ${$objlist}[$i]->modulname; Aber sieh dir dazu am besten die bereits genannte perldoc (perlreftut) an. Guest kajoxx Es soll nur verdeutlichen, dass man in Perl nicht zu casten braucht. In der zweiten Zeile werden 10 Objekte erzeugt, die allesamt eine Zufallszahl beinhalten. Die Subroutine foo() gibt die, in dem jeweiligen Objekt gespeicherte Zufallszahl aus. In der dritten Zeile laufe ich über alle Objekte und rufe für sie jeweils die foo() Methode auf. Guest kajoxx Im ersten Fall sollte $var eine Referenz auf ein Array und im zweiten Fall eine Referenz auf einen Skalar enthalten, man bekäme jeweils das Array bzw. Skalar zurück. Die geschweiften Klammern wären hier unnötig, diese braucht man nur, um perl zu verdeutlichen, was man dereferenzieren möchte. In der von mir geposteten for-Schleife hätte ich die geschweiften Klammern im Ausdruck $#{$objlist} auch weglassen können, allerdings war ich mir zu dem Zeitpunkt unsicher, deshalb habe ich sie lieber gesetzt :) Ansonsten kann ich dir nur empfehlen die perldocs zum Thema Referenzen durchzulesen. Hier alle dort enthaltenen Informationen nocheinmal zu posten wäre unsinnig ;) MfG Last edited: 2009-12-04 16:02:11 +0100 (CET) perl -E'*==*",s;;%ENV=~m,..$,,$&+42;e,$==f;$"++for+ab..an;@"=qw,u t,,print+chr;sub f{split}say"@{=} me"'
|