Attempts to write
LENGTH bytes of data from variable
SCALAR to the specified
FILEHANDLE, using the system call
write(2). It bypasses stdio, so mixing this with reads (other than
sysread()), print(),
write(), seek(), or tell() may cause confusion because stdio usually buffers data. Returns the number
of bytes actually written, or undef
if there was an error. If the
LENGTH is greater than the available data in the
SCALAR after the
OFFSET, only as much data as is available will be written.

An
OFFSET may be specified to write the data from some part of the string other than the beginning.
A negative
OFFSET specifies writing that many bytes counting backwards from the end of the string. In the case the
SCALAR is empty you can use
OFFSET but only zero offset.