Der Charakter eines Streams/Handles...

Enumerator

Mitglied Kamel
Moin!

Ich habe eine Grundlegende Frage zu Dateihandles und Ausgabestreams: ist es möglich, dem System vozugaukeln, eine Funktion oder ein Array wäre ein solcher Stream?

Gruß
Enum
 
Wüsste zwar nicht wieso man das sollte, aber um einem Programmbestandteil etwas "vorzugaukeln", dafür gibt es das Adapter-Pattern.

Es kapselt das, was du intern verwenden willst und stellt sich nach außen als das dar, was du haben möchtest. Dazu implementiert es die Schnittstelle des Ziel-Objekts.
 
Der Zweck des ganzen wird in diesem Thread deutlich: http://www.tutorials.de/forum/cgi-perl-python-ruby/310308-perl-stream-array-skalar-umleiten.html

Wie genau habe ich mir dieses Pattern vorzustellen? Oder einfach: wo finde ich mehr Infos dazu? Google spuckt mir ziemlich wirres Zeug entgegen...

Das System um das es in diesem Fall geht ist ein Debian-Server unter ModPerl2.02. Die Web-Applikation darauf verarbeitet ziemlich viele Client-Eingaben - und man kann einfach nicht allen Bockmist abfangen, den so ein Client verzapft.

Allerdings möchte man ihn auch keine Warnungen etc. sehen lassen - also ab mit dem Kram in die Log. Das Problem ist, das man die Datei ja nicht während des gesamten Requests geöffnet haben möchte...
 
Ok, das mit den Pattern ist zwar eine gute Idee, nur komme ich der Lösung damit nicht näher. Es fällt Perl offenbar schwer, Standard-Typeglobs wie STDOUT und STDERR als Instanzen einer Klasse anzusehen....
 
Zurück