D'abord, plutôt que de rechercher un mot, et en extraire le paragraphe correspondant, je te propose de faire l'inverse : séparer les paragraphes, puis y rechercher ta liste de mots.
Séparer un paragraphe, c'est facile. Mettons qu'on travaille avec un fichier texte tout à fait banal, les paragraphes y sont séparés par au moins une ligne vide.
Si tu travailles sur d'autres types de textes, à toi de concevoir la manière de les extraire. Quoi qu'il en soit, tu peux tout simplement lire ton fichier, et le stocker dans un tableau de paragraphes.
Ensuite, il te suffit de parcourir ton tableau, avec grep(), et de ne retenir que les paragraphes contenant au moins l'un, voire tous les mots recherchés.
Lien à connaître :
http://perldoc.perl.org
Tu y trouveras toute la documentation PERL dont tu as besoin. Et si tu as des questions plus spécifiques, tu peux les poser ici bien évidemment.