-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


Funzioni Perl in italiano

indietro

  • sysseek FILEHANDLE,POSIZIONE,DA_DOVE

    Imposta la posizione di sistema del FILEHANDLE in byte, usando la chiamata di sistema lseek(2). FILEHANDLE può essere un'espressione il cui valore fornisce il nome del filehandle. I valori per DA_DOVE sono 0 per impostare la nuova posizione a POSIZIONE, 1 per impostarla alla posizione corrente più POSIZIONE e 2 per impostarla ad EOF più POSIZIONE (tipicamente negativa).

    Notate l'in byte: anche se il filehandle è stato impostato per operare su caratteri (per esempio usando lo strato di I/O :utf8), tell() restituirà scostamenti di byte, non scostamenti di caratteri (visto che implementare questo renderebbe sysseek() molto lenta).

    sysseek() aggira il normale IO con buffer, dunque unire questo con i vari read (oltre a sysread, per esempio <> oppure read()), print, write, seek, tell o eof, potrebbe causare confusione.

    Per DA_DOVE, si potrebbe anche usare le costanti SEEK_SET, SEEK_CUR e SEEK_END (inizio del file, posizione corrente, fine del file) dal modulo Fcntl. L'uso delle costanti è anche più portabile che fare affidamento su 0, 1 e 2. Per esempio, per definire una funzione "systell":

    	use Fnctl 'SEEK_CUR';
    	sub systell { sysseek($_[0], 0, SEEK_CUR) }

    Restituisce la nuova posizione oppure il valore indefinito in caso di insuccesso. Un valore di posizione pari a zero viene restituito sotto forma della stringa "0 ma vero"; dunque sysseek restituisce vero in caso di successo e falso in caso di insuccesso, tuttavia la nuova posizione può ancora essere determinata facilmente.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
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!
D:
Annunci Google