Introduccion a Perl
## Objetivos de Aprendizaje
- Comprender la historia y filosofia de Perl
- Configurar el entorno de desarrollo de Perl
- Escribir y ejecutar tu primer programa en Perl
- Comprender los conceptos basicos de la sintaxis de Perl
## Que es Perl?
Perl es un lenguaje de programacion interpretado de alto nivel originalmente desarrollado por Larry Wall en 1987 como un lenguaje de scripting Unix para procesamiento de texto.
```perl
print "Hello, World!\n";
```
## Caracteristicas Clave
- **Procesamiento de Texto**: Expresiones regulares y coincidencia de patrones integradas
- **Extraccion Practica**: Excelente para generacion de informes y manipulacion de datos
- **Multiplataforma**: Se ejecuta en Unix, Linux, Windows, macOS
- **Tipado Dinamico**: No se requieren declaraciones de tipo de variable
- **Interpretado**: No se necesita paso de compilacion
- **Programacion CGI**: Historicamente popular para desarrollo web
## Instalando Perl
### Linux/macOS
Perl usualmente viene preinstalado. Verificar:
```bash
perl --version
```
### Windows
Descargar desde o
### Verificar Instalacion
```bash
perl --version
```
## Tu Primer Programa
### Hello World
```perl
#!/usr/bin/env perl
use strict;
use warnings;
print "Hello, World!\n";
```
### Ejecutando Perl
```bash
perl hello.pl # Ejecutar como script
perl -e 'print "Hi"' # Ejecutar una linea
```
## Estructura de un Programa en Perl
```perl
#!/usr/bin/env perl
use strict; # Forzar declaraciones de variables
use warnings; # Habilitar advertencias utiles
# Codigo principal aqui
print "Content-Type: text/plain\n\n";
print "Hello!\n";
```
## Comentarios
```perl
# Comentario de una sola linea
=pod
Comentario de multiples lineas
Usando sintaxis POD
=cut
print "Hello"; # Comentario al final de linea
```
## Funcion print
```perl
# Imprimir con nueva linea
print "Hello\n";
# Imprimir multiples elementos
print "Name: ", "Alice", "\n";
# Imprimir sin nueva linea
print "Loading ";
print "complete";
```
## Variables Escalares
```perl
use strict;
use warnings;
my $name = "Alice";
my $age = 30;
my $price = 19.99;
print "Name: $name, Age: $age\n";
print 'Single quotes: $name\n'; # Sin interpolacion
```
## Argumentos de Linea de Comandos
```perl
#!/usr/bin/env perl
use strict;
use warnings;
my $name = $ARGV[0] // "World";
print "Hello, $name!\n";
```
```bash
perl hello.pl Alice
# Salida: Hello, Alice!
```
## IDEs y Editores
### Editores Populares
- **VS Code** con extension Perl
- **Padre** - Perl IDE
- **Emacs** con perl-mode
- **Vim** con perl-support
## Versiones de Perl
```bash
perl --version # Verificar version instalada
```
| Version | Ano | Caracteristica |
|---------|------|---------|
| Perl 5 | 1994 | Rama principal de desarrollo |
| Perl 5.8 | 2002 | Mejoras en Unicode |
| Perl 5.10 | 2007 | Operador smart match |
| Perl 5.14 | 2011 | Unicode 6.0 |
| Perl 5.16 | 2012 | Mejoras en threading |
| Perl 5.24 | 2015 | Mejoras de rendimiento |
| Perl 5.30 | 2019 | Nuevas caracteristicas |
| Perl 5.34 | 2021 | Sintaxis moderna |
| Perl 5.36 | 2022 | Nuevas caracteristicas |
## One-Liners
```bash
perl -e 'print "Hello\n"' # Imprimir
perl -n -e 'print $_' file.txt # Imprimir lineas
perl -p -e 's/foo/bar/' file.txt # Reemplazar en lugar
perl -0777 -e 's/foo/bar/sg' file # Leer archivo completo
```
## Variables Especiales
```perl
$_ # Variable por defecto
$. # Numero de linea actual
$/ # Separador de registro de entrada
$\ # Separador de registro de salida
$! # Error del sistema
$$ # ID del proceso
@ARGV # Argumentos de linea de comandos
%ENV # Variables de entorno
```
## Resumen
- Perl es un lenguaje de procesamiento de texto con soporte poderoso para regex
- Usa `use strict` y `use warnings` en cada programa
- `print` salida a stdout
- Las variables comienzan con `$` (escalares), `@` (arreglos), `%` (hashes)
- El comando `perl` ejecuta scripts; bandera `-e` para una linea
- Los comentarios usan `#` para una sola linea
Comments
Comments powered by Giscus
To enable comments, add your Giscus embed code here.
Learn more about Giscus →