El lenguaje Perl (Practical Extraction and Report Languaje) nació en entornos UNIX para la realización de tareas administrativas. Es muy potente manipulando ficheros y cadenas de texto, ya que en este entorno la mayoría de ficheros de configuración del sistema, de las aplicaciones, etc. son archivos de texto, y a menudo de un tamaño considerable
Es un lenguaje interpretado, con una sintaxis similar a C. En la actualidad, El intérprete de Perl es gratuíto, y está portado a multitud de plataformas. Aquí tienes enlaces a sitios donde los puedes encontrar.
Debido a estas características, se asocia, sobre todo, a la programación en entornos web usando la interfaz CGI (Common Gateway Interface), ya que en estos entornos se conectan plataformas heterogéneas, tanto software como hardware, y es más fácil codificar una aplicación en un lenguaje que pueda ser ejecutado en cualquier máquina sin tener que ser recompilado, por lo que Perl sale ganando al poder ejecutarse en distintas máquinas con la única condición de que tenga instalado su intérprete correspondiente.
A diferencia de la mayoría de los lenguajes de programación, Perl no limita el tamaño de los datos, y solo vendrá impuesto por la memoria que pueda obtener, por lo que, por ejemplo, podría tratar todo un archivo de texto como fuese una cadena de caracteres. Perl utiliza ténicas sofisticadas para encontrar patrones , por lo que le permite escanear grandes cantidades de datos rápidamente. Aunque se suele utilizar para trabajar con textos, para lo que está optimizado, también puede trabajar con datos binarios.