Tach!
Mach Bug Report!
Das ist kein Perl-Bug, sondern ein pl-Bug. Es fehlt das
use IO::File
in deinem Beispiel.Falsch! Selbst wenn es fehlen würde, es würde eine andere Fehlermeldung kommen. Weil nämlich das ganze Erbe von IO::Handle fehlt! Und @dedlfix behaupet ja
IO::Handle: bad open mode: O_CREAT at - line 4.
sei die Fehlermeldung, also daß sie von IO::Handle kommt. Wenn das jedoch nicht eingebunden ist, wie bitte kann es dann einen Fehler melden!? Also bitte mal Gehirn einschalten!
Nun, ich hab mein Gehirn ausgeschaltet gelassen und einfach das von ck erwähnte use IO::File;
deinem Code vorangestellt. Die Fehlermeldung war dann wie von ck berichtet.
Übrigens: wenn man das ergänzt, bekommt man wie erwartet die Fehlermeldung
No such file or directory at ./test.pl line 8.
- denn das Verzeichnisfiles
existiert nicht in/tmp
.
Genau so (abgesehen von der Zeilennummer, und eine Datei hab ich auch nicht erst angelegt). Erst nach dem Anlegen von /tmp/files als Verzeichnis kam kein Fehler mehr. Aber damit ist der Beweis nicht erbracht, dass ein Dateiname mit / gültig wäre, so wie du das behauptet hast, sondern der / wurde als Verzeichnistrenner gewertet.
dedlfix.