Matti Maekitalo: Werte ausserhalb d. Subroutine ändern ?

Beitrag lesen

use Mosche;

Wenn du eine grosse Menge an zusammenhängenden Daten hast
(ich denke, es geht um dein Forum, dann also zum Beispiel Name, Vorname, Email, ...) verwende besser einen Hash oder (wenn man es wirklich genau machen würde) baue ein entsprechendes Objekt. Dadurch wird dein Quellcode übersichtlicher.

Hmmm ich wüsste nicht, was mir ein Hash bringen würde, bzw wo ich diesen verwenden müsste. Desweiteren hab ich bis jetzt nichts OO programmiert, weil ich noch immer nicht genau verstehe, wie OO eigentlich genau funktioniert.

Bei meiner Aussage geht es prinzipiell um Folgendes:
Du hast prozedural programmiert, was grundsätzlich nichts schlechtes ist. Ein (eher theoretisches) Problem deines Codes ist aber, dass du Daten, die zusammengehören getrennt behandelst, zB hast du verschiedene Variablen für Name, Vorname, EmailAdresse, .... Ich an deiner Stelle würde für den gesamten Datenkomplex 'Poster' einen Hash nehmen, um der Zusammengehörigkeit der Daten Ausdruch zu verleihen.

Also statt
new_posting($name, $vorname, $email)
einfach

my %poster = (name => $name, vorname => $vorname, $email => $email);
new_posting(%poster);

Das erhöht letztendlich die Übersichtlichkeit deines Codes.

Das mit Objektorientierung geht dann noch mehrere Schritte weiter. Wie du vielleicht gelesen hast, betrachtet man bei OOP verschiedene Datenkomplexe als Objekte, zB dein Poster. OOP ist bei Perl nicht sehr ausgeprägt und macht eigentlich erst wirklich Sinn, wenn du gleichzeitig mehrere gleiche Objekte verwaltest, was bei einem Forum so direkt nicht vorkommt.

use Tschoe qw(Matti);

$xNeTworKx.