syswrite FILEHANDLE,SCALAR
Mėgina įrašyti LENGTH duomenų baitų iš kintamojo SCALAR į aprašyta FILEHANDLE, naudojant sisteminį kreipinį write(2). Jei LENGTH nenurodomas, įrašo visa SCALAR. Praleidžia užbufreinta IO, taigi sumaišydamas jį su kitomis nuskaitymo rūšimis, print
, write
, seek
, tell
, ar eof
gali įvesti painiava, nes perlio ar stdio layers'ai įprastai buferina duomenis. Gražina įrašytų baitų skaicių arba esant klaidai - undef
. (Šiuo atveju errno kintamasis $!
taip pat nustatomas). Jei LENGTH ilgesnis nei yra duomenų SCALAR po OFFSET, tik tiek duomenų, kiek pasiekiama, bus įrašyta.
OFFSET gali būti pasakoma rašyti duomenis iš kokios nors eilutės dalies (nebūtinai pradžios). Neigiamas OFFSET nusako rašyma per tiek simbolių skaiciuojant atbulai nuo string'o pabaigos. Jei SCALAR yra tušcias, galima naudoti OFFSET, bet tik nulinį.
Pažymėtina, jog filehandle'as buvo aprašyta kaip
:utf8
, Unicode simboliai įrašomi vietoj baitų (LENGTH, OFFSET, ir gražinamos syswrite() reikšmės yra UTF-8 užšifruotų Unicode simboliai). :encoding(...)
lygmuo (layer) netiesiogiai nurodo į :utf8
lygmenį. Daugiau apie tai binmode, open, ir open
pragma, open.