Thread Rückgabewert von select()
(8 answers)
Opened by bianca at 2022-02-08 10:26
Das ganze ist ein bisschen schräg wegen der Doppelfunktion von select. Die -1 als Rückgabewert (und einen Wert in $!) bekommst Du nur von der Aufrufvariante select RBITS,WBITS,EBITS,TIMEOUT. Nur in dieser Variante wird nämlich die C-Funktion select verwendet (und in dem Abschnitt taucht es auch in der Dokumentation auf).
Verblüffenderweise kannst Du in Perl mit select FILEHANDLE ein Handle auch zuerst selektieren und danach aufmachen. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 #! /usr/bin/env perl use 5.010; use strict; use warnings; use autodie; my $fh; my $old = select($fh); say 'Ist noch gar nicht offen!'; # say on unopened filehandle $fh open ($fh,'>','test.txt'); say 'Aber jetzt!'; close $fh; say 'Und schon wieder zu.'; # say() on closed filehandle $fh Um herauszufinden, ob ein Filehandle gerade offen ist, nimmst Du perlfunc fileno. |