Pour lire sur un descripteur de fichier précédemment ouvert, on
utilise principalement l'opérateur
<>
, comme par exemple dans
$
nom = <STDIN>;, qui lit le filehandle précisé jusqu'au retour chariot suivant (qui est inclus dans le résultat).
Il existe également une commande read(FILEHANDLE,SCALAR,LENGTH) qui lit LENGTH octets de données dans la variable SCALAR depuis le fichier FILEHANDLE.
Cette commande est implémentée avec la fonction fread(). Pour effectuer un véritable appel-système à la fonction read(), il faut utiliser la commande sysread.
Pour lire un seul caractère, on peut utiliser la fonction getc(FILEHANDLE).