Stampa una stringa oppure una lista di stringhe. Restituisce
vero in caso di successo. FILEHANDLE può essere una
variabile scalare, nel qual caso deve contenere il nome o un
riferimento al filehandle, introducendo quindi un livello di
accesso non diretto al filehandle. (NOTA: Se FILEHANDLE è
una variabile, ed il successivo simbolo è un termine,
esso può venire erroneamente interpretato come un
operatore, a meno che non inseriate un + o utilizziate le
parentesi attorno agli argomenti). Se FILEHANDLE viene omesso,
la stampa viene direzionata all'output standard (o all'ultimo
canale di output selezionato, consultate select). Se anche
LISTA viene omessa, stampa $_ al canale di output
correntemente selezionato. Per impostare il canale di output a
qualcosa di diverso da STDOUT, utilizzate l'operazione select.
Il valore corrente di $, (se impostato) viene stampato come
separatore di ciascun elemento di LISTA. Il valore corrente di
$\ (se impostato) viene stampato dopo che l'intera LISTA
è stata stampata. Poiché print accetta una
LISTA, ogni cosa contenuta in tale LISTA viene valutata in
contesto di lista, ed ogni subroutine che chiamate si
ritroverà una o più d'una delle sue espressioni
valutate in contesto di lista. State anche attenti a non far
seguire una parentesi di apertura alla parola chiave print, a
meno che non desideriate terminare gli argomenti da stampare
con la corrispondente parentesi di chisura, inserite un + o
mettere parentesi attorno a tutti gli argomenti.
Va notato che se tenete i FILEHANDLE in un array, o comunque usate delle espressioni più complesse di una semplice variabile scalare per accederli, dovete usare un blocco che restituisca il filehandle:
print { $files[$i] } "cose da stampare\n";
print { $OK ? STDOUT : STDERR } "cose da stampare\n";