binmode flusso, ":codifica"
| binmode() consente di dichiarare la codifica utilizzata per il file corrispondente al flusso di file indicato come primo argomento. Si usa normalmente quando si vuole dichiarare la codifica dei flussi standard, che risultano già aperti senza alcuna dichiarazione esplicita. |
chomp espressione_stringa
chomp lista
| chomp() riceve come argomento un'espressione che restituisce una stringa o una lista di stringhe. Il suo scopo è eliminare dalla parte finale il codice di interruzione di riga, che coincide normalmente con il carattere <LF>. Precisamente si tratta di quanto contenuto nella variabile predefinita $/. Se non viene indicato l'argomento, interviene sul contenuto della variabile $_. Restituisce il numero di caratteri eliminati. |
chop espressione_stringa
chop lista
| chop() riceve come argomento un'espressione che restituisce una stringa o una lista di stringhe. Il suo scopo è eliminare l'ultimo carattere della stringa, o delle stringhe della lista. In questo senso differisce da chomp() che invece elimina la parte finale solo se necessario. Restituisce l'ultimo carattere eliminato. |
close flusso
| close() chiude un flusso di file aperto precedentemente. Restituisce Vero se l'operazione ha successo e non si sono prodotti errori di alcun tipo. È opportuno osservare che non è necessario chiudere un file se poi si deve riaprire immediatamente con la funzione open(): lo si può semplicemente riaprire. |
eof flusso
| eof() verifica se la prossima lettura del flusso di file supera la fine del file. Restituisce uno se ciò si verifica. Questa funzione è generalmente di scarsa utilità dal momento che la lettura di una riga oltre la fine del file genera un risultato indefinito che può essere verificato tranquillamente in un'espressione condizionale. Oltre a ciò, eof() si verifica prima che il tentativo di lettura sia stato fatto veramente, contrariamente a quanto avviene di solito in altri linguaggi di programmazione. |
fcntl flusso,funzione,scalare
| fcntl() esegue la chiamata di sistema omonima e per questo può essere utilizzata solo con un sistema operativo che la gestisce. Prima di poter utilizzare questa funzione occorre richiamare una serie di valori corrispondenti a macro del proprio sistema:
use Fcntl; |
fileno flusso
| fileno() restituisce il descrittore corrispondente a un flusso di file. |
flock flusso, operazione
| flock() esegue la chiamata di sistema omonima, oppure una sua emulazione, per il file identificato tramite il flusso di file. flock() permette di eseguire il blocco di un file nel suo complesso e non record per record. Restituisce Vero se l'operazione ha successo.
L'operazione, cioè il tipo di blocco, viene indicata attraverso una sorta di macro che viene inserita nel sorgente di Perl attraverso la dichiarazione seguente:
use Fcntl ':flock'; |
flock flusso, LOCK_SH
| LOCK_SH corrisponde normalmente al valore numerico uno. Richiede un blocco condiviso (shared). |
flock flusso, LOCK_EX
| LOCK_EX corrisponde normalmente al valore numerico due. Richiede un blocco esclusivo. |
flock flusso, LOCK_UN
| LOCK_UN corrisponde normalmente al valore numerico otto. Rilascia il blocco. |
flock flusso, LOCK_NB
| LOCK_NB corrisponde normalmente al valore numerico quattro. Viene sommato a LOCK_SH o a LOCK_EX in modo da non attendere lo sblocco del file nel caso che questo risulti già bloccato. |
getc flusso
| getc() legge il file indicato dal flusso di file, o dallo standard input se viene omesso l'argomento, restituendo il prossimo carattere. Se si supera la fine del file restituisce la stringa nulla. |
ioctl flusso, funzione, scalare
| ioctl() esegue la chiamata di sistema omonima e per questo può essere utilizzata solo con un sistema operativo che la gestisce. Per poterla utilizzare occorre consultare la documentazione interna di Perl. |
open flusso, [modalità,] file
| open() apre il file indicato come ultimo argomento utilizzando il flusso di file indicato come primo argomento. Se manca l'argomento centrale, il nome del file è composto normalmente da un prefisso simbolico che ne rappresenta la modalità di utilizzo.
Il prefisso può essere staccato dal nome del file attraverso spazi. L'apertura del file rappresentato da un trattino (-) è equivalente all'apertura dello standard input, mentre l'apertura del file >- è equivalente all'apertura dello standard output.
Restituisce Vero se l'apertura ha successo. |
open flusso, "<file"
open flusso, "<:codifica", "file"
| Questo simbolo o l'assenza di ogni altro prefisso rappresenta l'apertura del file in lettura, o in input. |
open flusso, ">file"
open flusso, ">:codifica", "file"
| Il file viene troncato (viene ridotto a un file vuoto) e aperto in scrittura, o in output. |
open flusso, ">>file"
open flusso, ">>:codifica", "file"
| Il file viene aperto in scrittura in aggiunta. |
open flusso, "+<file"
open flusso, "+<:codifica", "file"
| Il file viene aperto in lettura e scrittura, senza il troncamento iniziale. |
open flusso, "+>file"
open flusso, "+>:codifica", "file"
| Il file viene aperto in scrittura e lettura, a cominciare dal troncamento iniziale. |
open flusso, "+>>file"
open flusso, "+>>:codifica", "file"
| Il file viene aperto in aggiunta e in lettura. |
open flusso, "|comando"
| Il file viene interpretato come un comando a cui inviare i dati in scrittura attraverso un condotto. |
open flusso, "comando|"
| Il file viene interpretato come un comando da cui leggere i dati emessi dal suo standard output. |
open flusso, "|comando|"
| Il file viene interpretato come un comando a cui inviare i dati in scrittura e attraverso il suo standard input, leggendo quanto emesso attraverso lo standard output. |
pipe flusso_in_lettura,\ \flusso_in_scrittura
| pipe() esegue la chiamata di sistema omonima, aprendo due flussi di file, uno in lettura e l'altro in scrittura. Per poterla utilizzare occorre consultare la documentazione interna di Perl. |
print flusso lista
print lista
| print() emette attraverso il flusso di file indicato la lista di argomenti successiva. Se non viene specificato un flusso di file, tutto viene emesso attraverso lo standard output, oppure attraverso quanto specificato con la funzione select(). Se non viene specificato alcun argomento, viene emesso il contenuto della variabile $_.
È il caso di osservare che l'argomento che specifica il flusso è separato dalla lista di stringhe da emettere solo attraverso uno o più spazi (non si usa la virgola). Per lo stesso motivo, se il flusso di file è contenuto in un elemento di un array, oppure è il risultato di un'espressione, ciò deve essere indicato in un blocco.
Restituisce Vero se l'operazione di scrittura ha successo. |
printf flusso formato,lista
printf formato,lista
| È equivalente all'uso di sprintf() nel modo seguente:
print flusso sprintf formato,lista |
read flusso, scalare, lunghezza, \ \scostamento
read flusso,scalare,lunghezza
| read() tenta di leggere il flusso di file specificato e di ottenere la quantità di byte espressa nel terzo argomento, inserendo quanto letto nella variabile scalare indicata come secondo. Se viene indicato anche il quarto argomento, lo scostamento, il contenuto della variabile non viene rimpiazzato completamente, ma è sovrascritto a partire dalla posizione indicata dallo scostamento stesso. La funzione restituisce il numero di byte letti effettivamente, oppure il valore indefinito se si è verificato un errore. |
seek flusso, posizione, partenza
| seek() modifica la posizione del puntatore riferito al flusso di file. La posizione effettiva nel file dipende dal valore del secondo e del terzo argomento. Precisamente, il terzo argomento può essere zero, uno o due, come descritto nelle voci successive. |
seek flusso, posizione, SEEK_SET
seek flusso, posizione, 0
| Sposta il puntatore esattamente a quanto indicato dal secondo argomento. |
seek flusso, posizione, SEEK_CUR
seek flusso, posizione, 1
| Sposta il puntatore alla posizione corrente, più quanto indicato dal secondo argomento. |
seek flusso, posizione, SEEK_END
seek flusso, posizione, 2
| Sposta il puntatore alla fine del file, più quanto indicato dal secondo argomento, che solitamente è un valore negativo. |
select flusso
| select() permette di definire il flusso di file in scrittura predefinito, per tutte quelle situazioni in cui questo concetto ha significato. |
sprintf formato,lista
| sprintf() restituisce una stringa formattata in modo analogo a quanto fa la funzione omonima del linguaggio C. Il primo argomento è la stringa da formattare, quelli successivi sono i valori da inserire. Perl utilizza una propria gestione della conversione secondo quanto riportato nelle tabelle 438.18 e 438.19.
sprintf() è sensibile all'attivazione della localizzazione, nel qual caso, il carattere utilizzato per separare le cifre intere da quelle decimali, dipende dalla variabile di ambiente LC_NUMERIC. |
tell flusso
| tell() restituisce la posizione corrente del puntatore interno riferito al flusso di file indicato come argomento, oppure a quello dell'ultima operazione di lettura eseguita. |
use open ":codifica"
| use open consente di dichiarare la codifica una volta per tutte, fino a quando si incontra un'altra istruzione del genere. |