Wären aus Perl ein paar Funktionen rausgeflogen, dann wäre DAS vielleicht nicht möglich.
Welche denn?
Beginnen wir "ganz BASIC" mit
- open()
Das verführt zu etwas wie open($FH, ">$file");
Nur ist eben in Linux jedes Zeichen außer NUL, also auch das '>'-Zeichen in Dateinamen erlaubt. Mit der Folge, dass mit $file = '>inputdatei' etwas wie
open($FH, ">>inputdatei");
herauskommt.Meine Antwort:
IO::File
OOP:Thema verfehlt. Denn das hat nichts mit meiner Aussage zu tun, dass, wenn aus Perl ein paar Funktionen rausgeflogen wären, das obige nicht mehr möglich wäre. Denn es geht bis heute. Also bin nicht ich derjenige, der "seit 18 Jahren die Zeit verpennt" hat. Die Macher von Perl hätten das insoweit unsichere open() ersetzen, als deprecaded markieren und entfernen müssen.
Das von dir geschilderte Problem hat mit der open()
Funktion nichts zu tun, sondern mit dem Kontext welcher abhängig von der Plattform ggf. zu beachten ist. Was ich Dir gezeigt habe ist jedoch ein Code der Plattformunabhängig ist. Im Übrigen implementiert Perl's sysopen()
die legacy c Funktion mit denselben Konstanten unabhängig von IO::File
, war also schon imme eine Alternative.
MfG