Hallo!
Ist der Overhead bei der Erzeugung von Objekten (oben) nicht viel
größer als beim direkten Aufruf der Modulfunktionen.
Du greifst grade direkt auf eine Variable zu. Das ist in der OOP ÄUSSERST unerwünscht!
In Perl gibt es zwar nicht wirklich private Variablen, jedoch sollte man sich daran halten, da sonst alle Vorteile der OOP verloren gehen und einige unkontrollierte Nebenwirkungen entstehen können.
Kapselung heißt hier die Devise.
Natürlich entsteht ein gewisser "Overhead", doch a) ist der gering (einmaliger Zugriff) und b) trittst Du gerade alle Prinzipien der OOP mit den Füßen.
Es ist in der OOP IMMER besser, nur über die vorgesehenen Schnittstellen zuzugreifen.
Warum?
In der nächsten Version von cgi.pm könnte der Autor sich vielleicht entschließen, den Hash nicht mehr "param" zu nennen, sondern ganz anders. Über die Methode bekommst Du dann trotzdem den richtigen Wert, über die Variable nicht mehr...
Das nur als Beispiel.
Oder wie perlmodlib sagt:
"Perl doesn't have an infatuation with enforced privacy. It would prefer that you stayed out of its living room
because you weren't invited, not because it has a shotgun."
fs