Tenta di scrivere un numero di caratteri di informazioni, pari a LUNGHEZZA, dalla variabile
SCALARE al FIELHANDLE specificato, usando la chiamata di sistema write(2). Se LUNGHEZZA
non è specificata, scrive l'intero SCALARE. Elude l'IO con buffer, dunque
mescolarla con i vari read (oltre a sysread()), print, write, seek, tell o
eof, potrebbe causare confusione visto che lo stdio di solito utilizza un buffer per i
dati. Restituisce il numero di caratteri effettivamente scritti oppure undef se
c'è stato un errore (in questo caso viene anche impostata la variabile errno $!).
Se la LUNGHEZZA è più grande dei dati disponibili nello scalare dopo lo SCOSTAMENTO,
verrà scritto solo il maggior numero di dati disponibili.
Uno SCOSTAMENTO può essere specificato per scrivere i dati a partire da qualche
parte della stringa che non sia l'inizio. Uno SCOSTAMENTO negativo specifica la scrittura
di quel numero di caratteri, contando a ritroso a partire dalla fine della stringa.
Nel caso lo SCALARE sia vuoto, si può usare SCOSTAMENTO ma solo uno scostamento
pari a zero.
Va notato che se il filehandle è stato marcato come :utf8, verranno scritti
caratteri Unicode invece di byte (la LUNGHEZZA, lo SCOSTAMENTO e il valore restituito di
syswrite() sono in caratteri Unicode codificati UTF-8). Lo strato :encoding(...)
introduce implicitamente lo strato :utf8.
Consultate binmode, open e la direttiva di open, open.
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per
porre quesiti di tipo tecnico, per rimanere aggiornato su meeting,
incontri, manifestazioni e novità su Perl.it. Iscriviti!