Hi hotti
Schau dir mal die komfortablere Alternative zu open() an, die heißt sysopen(). Fcntl dann wie folgt:
use Fcntl qw(:DEFAULT :flock);
und Du kannst Modi setzen, z.B.
sysopen(my $fh, $file, O_RDWR|O_CREAT) or return;
Da steht:
...da sysopen direkt der betriebssystemeigene Befehl zum Öffnen einer Datei benutzt. Der Vorteil besteht darin, dass Sie genauer angeben können, wie Sie die Datei öffnen wollen. Der Nachteil ist aber, dass es Probleme mit Betriebssystemen gibt, die nicht alle Features unterstützen. Das Perl-Script lässt sich dann möglicherweise nicht mehr in verschiedenen Umgebungen ausführen.
Buchtipp: Perl kurz & gut, Johan Vromans (O'Reilly) das ist ein Taschenbuch, was ich schon zweimal gekauft habe, weil das wirklich hilft (und weils mir einmal geklaut wurde).
Der "Wink mit dem Zaunpfahl" ist angekommen. Die Begründung für das Buch ist gut - vor allem die zweite ;-)
Gruß Gary