indietro

  • tell FILEHANDLE
  • tell

    Restituisce la posizione corrente in byte per il FILEHANDLE oppure -1 in caso di errore. FILEHANDLE può essere un'espressione il cui valore fornisce il nome del FILEHANDLE corrente. Se FILEHANDLE viene omesso, prende in considerazione l'ultimo file letto.

    Va notato l'in byte: anche se il filehandle è stato impostato per operare su caratteri (per esempio usando l'open layer :utf8), tell() restituirà scostamenti di byte e non scostamenti di caratteri (questo perché renderebbe seek() e tell() piuttosto lenti).

    Il valore restituito da tell() per i flussi standard come lo STDIN, dipende dal sistema operativo: potrebbe restituire -1 o qualcos'altro. tell() sulle pipe, fifo e socket di solito restituisce -1.

    Non c'è una funzione systell. Per questo, si usi sysseek(FH, 0, 1).

    Non usate tell() (o altre operazione di I/O che usano un buffer) su un filehandle che sia stato manipolato da sysread(), syswrite() o sysseek(). Queste funzioni ignorano l'utilizzo di buffer mentre tell() no.