Il existe en perl la possibilité d'utiliser les here-documents de manière analogue au shell, afin de faciliter l'écriture de longues chaînes de caractères. On utilise une chaîne de caractères particulière pour délimiter un bloc de texte, et on peut ainsi insérer de manière lisible des variables multilignes, ou encore utiliser des guillemets sans avoir à les précéder d'un backslash.
C'est très pratique par exemple pour écrire des scripts CGI :
print <<"FIN"; Content-type: text/html <HTML><HEAD> <TITLE>Erreur</TITLE> </HEAD><BODY> <H1>Erreur</H1> $err_msg </BODY></HTML> FINL'utilisation de guillemets simples permet d'éviter que les variables ne soient interpolées à l'intérieur de la chaîne.
Il existe deux pièges à éviter lors de l'utilisation de ce mécanisme : il ne faut surtout pas oublier le point-virgule après le délimiteur de bloc, ce qui constitue une erreur de syntaxe.
De plus, l'identificateur de fin de bloc doit être impérativement au début de la ligne.