Thread Wieso läuft dieses Skript unendlich lange?!
(18 answers)
Opened by Gast at 2005-09-27 11:34
in @_ stehen die Parameter, die an die Methode übergeben werden. Die Elemente aus dem speziellen Array (siehe perldoc perlvar) werden in die Liste ($statement,@array gespeichert. Dadurch landet Dein SELECT-Statement in $statement.
Du hast in Deinem Skript mit $_[0] auf das erste Element von @_ zugegriffen. solange das fetchrow_hashref() mir eine Hashreferenz zurückliefert, also solange Einträge selektiert wurden, schiebe die Hashreferenz in das Array (siehe perldoc -f push). @{...} dereferenziert eine Arrayreferenz. Ich habe in der Methode eine Referenz auf ein Array zurückgeliefert. Damit ich auf die einzelnen Elemente zugreifen kann, muss ich erst dereferenzieren. Zu Referenzen lesenswert: perldoc perlrefut (ist in Deutsch). Ein nützliches Modul zum Betrachten von solchen Datenstrukturen ist Data::Dumper. Du kannst Dir ja mal zum Spaß die Referenz ausgeben lassen mit: Code: (dl
)
1 use Data::Dumper; Da kannst Du Dir mal anschauen, was in $arref alles drinsteckt... OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/) -- Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html Perl-Entwicklung: http://perl-services.de/ |