Im Erfolgsfall wird die Anzahl der gelesenen Zeichen zurückgegeben, ansonsten eine 0 bei Dateiende und ein undef bei einem Fehler.
Interessanter sind jedoch die Parameter, die man übergibt:
Das Dateihandle ist das Handle eben der Datei, die man einlesen will. Danach folgt ein Skalar, in den die eingelesenen Zeichen abgelegt werden.
Und schließlich noch eine optionale Offset-Position, die absolut zum Dateianfang ist. Ein Offset von 100 würde also ab dem 100. Zeichen der Datei das Einlesen beginnen.
Wie Sie vielleicht vermuten, werden hier alle möglichen Zeichen eingelesen, ein Zeilentrenner mit \n wird also nicht als Trennzeichen verwendet.
my $zeichen = ''; open (my $IN,'<datei.txt') || die "Kann Datei nicht oeffnen: $!"; binmode ($IN); read($IN,$zeichen,10,10); close $IN;
Es wird eine Datei datei.txt geöffnet und in den binmode geschaltet. Danach werden zehn Zeichen aus der Datei ab Position 10 in den Skalar $zeichen eingelesen und ausgegeben. Vorsicht
- Die Positionsangaben beginnen ,wie immer, bei 0. Position 10 ist also ab dem 11. Zeichen!
- Der Dateizeiger wird um die Anzahl Bytes erhöht, die eingelesen werden.
Beachten Sie
Um den Dateizeiger vor dem Lesen mit read an eine andere Stelle zu positionieren, können Sie die Funktion seek verwenden.