http://members.tripod.com/~MoisesRBB/perl.html

TUTORIAL DE PERL

1.INTRODUCCIÓN .

1.1 Descripción.

1.2 Donde Conseguirlo.

2. TIPOS DE DATOS.

2.1 Escalares.

2.2 Arreglos.

2.3 Operadores.

3. CONTROL DE FLUJO.

4. EXPRESIONES REGULARES.

5. ENTRADA/SALIDA.

6. FUNCIONES DEL SISTEMA.

7. ACCESO A DIRECTORIOS.

8. SUBRUTINAS.

9. E/S FORMATEADA.

10. FUNCIONES DE ARREGLOS INCLUÍDAS.

11. FUNCIONES STRING.

12. SCRIPTS SUID'S.

13. DEPURACIÓN Y PAQUETES.

14. OPCIONES DE LA LÍNEA DE COMANDOS.

1. INTRODUCCIÓN.

1.1 Descripción.

1.2 Donde Conseguirlo.

1.1 Descripción.

Perl es un lenguaje hecho especialmente para escanear archivos de texto, extraer información de esos archivos, e imprimir reportes basados en esa información. Es también un lenguaje muy útil para muchas tareas de administración de sistemas. Este lenguaje combina algunas de las mejores características de C, sed, awk, y sh. A diferencia de la mayoría de las utilidades de UNIX, Perl no limita arbitrariamente el tamaño de los datos (Si se tiene la suficiente memoria, Perl puede manejar el archivo entero como un solo string). Y las tablas de hash usadas por los arreglos asociativos crecen lo suficiente para prevenir que se degrade el desempeño. Perl utiliza técnicas sofisticadas para encontrar patrones lo que le permite escanear grandes cantidades de datos rápidamente. Aunque el Perl está optimizado para escanear texto, puede también trabajar con datos binarios, y puede hacer que archivos dbm se vean como arreglos asociativos.

1.2 Donde Conseguirlo.

El Perl es gratis , y se puede conseguir de :

Cualquier almacén de software de comp.sources.unix.

Algunos famosos servers de almacén de archivos :

- uunet.uu.net 192.48.96.2

- tut.cis.ohio-state.edu 128.146.8.60

De su autor Larry Wall

2. TIPOS DE DATOS.

Los tipos de datos básicos son :

+ Escalares.

+ Arreglos indexados de Escalares.

+ Arreglos Asociativos de Escalares.

Los escalares pueden ser strings, numéricos o booleanos dependiendo del contexto. Valores de 0 (cero) y '' (null string) son falsos; cualquier otra cosa es verdadera.

Los tipos de variables son determinados por la anteposición de un caracter especial.

$ Escalar.

@ Arreglo Indexado.

% Arreglo Asociativo.

& Función.

Todos los tipos de datos tienen su propio nombre, así como las etiquetas, funciones, archivos y manejadores de directorios.

2.1 Escalares.

Se utiliza un $ para indicar un valor escalar.

$foo = 3.141592;

$foo = 'rojo';

$foo = "era $foo antes"; # variable interpolada.

$host = `hostname`; # se usan backticks ``.

($foo, $bar, $glarch) = ('rojo', 'azul', 'verde');

($foo, $bar) = ($bar, $foo) # intercambio

2.1.1 Variables Escalares Especiales.

Los Escalares Especiales son llamados con signos de puntuación (excepto $0). Algunos ejemplos son :

$0 Nombre del script que se está ejecutando actualmente.

$_ Default para operadores de patrones y E/S implícita.

$$ El PID actual.

$! El mensaje de error actual del sistema (de errno).

$? Estatus del último `backtick`, pipe, o sistema.

$| Si la salida tiene buffer.

$. El número de la línea actual de la última entrada.

$[ Arreglo base, por default es 0, awk usa 1.

$

$( El GID real del proceso.

$> El UID efectivo del proceso.

$) El GID efectivo del proceso.

2.2 Arreglos.

2.2.1 Arreglos Indexados (Listas).

$ Para un elemento escalar.

@ Para todos.

       $foo[$i+2] = 3; # Establecer un elemento con el valor 3.

@foo = ( 1, 3, 5 ); # Inicializar todo el arreglo.

@foo = ( ); # Inicializa un arreglo vacío.

@foo = @bar; # copiar todo el arreglo.

@foo = @bar[$i..$i+5]; # copiar una parte del arreglo.

$#ARRAY es el índice de el más alto subscript, cuyo nombre de script es $0 y sus argumentos corren de $ARGV[0] hasta $ARGV[$#ARGV], inclusive.

2.2.2 Arreglos Asociativos (hashed).

$ Para un elemento escalar.

% Para todos.

       $ranas{'verdes'} += 23;         # 23 o más ranas verdes.

$location{$x, $y, $z} = 'troll';# Arreglo multi-dimensional.

%foo = %bar; # Copiar todo el arreglo.

@ranas{'verdes', 'azules', 'amarillas'} = (3, 6, 9);

2.2.3 Variables Especiales de Arreglos.

@ARGV Argumentos de la línea de comandos.

@INC Buscar el path para archivos llamados con do.

@_ Default para los parámetros de subrutinas y split.

%ENV El ambiente actual; por ejm.: $ENV['HOME']

%SIG Usado para señalar manejadores.

                       sub trapped {

print STDERR "Interrupted\007\n";

exit 1;

}

$SIG{'INT'} = 'trapped';

2.3 Operadores.

Perl utiliza todos los operadores de C, excepto para type casting , `$' y `*' como operadores de direcciones, además de :

+ Exponenciación

**, **=

+ Operador de Rango

..

               $inheader = 1 if /^From / .. /^$/ ;

if (1..10) { do foo( ) ; }

for $i (60..75) { do foo($i); }

@new = @old[30..50];

+ Concatenación de Strings

. , .=

               $x = $y . &frob(@list) . $z;

$x .= "\n";

+ Repetición de Strings

x, x=

               $bar = '-' x 72;                # renglón de 72 guiones.
+ Comparación de Strings

eq, en, lt, gt, le, ge

               if ($x eq 'foo') { }

if ($x ge 'red') { }

+ Operadores de Comparación de archivos como /bin/test aumentados trabajan sobre strings o manejadores de archivos.
               if (-e $archivo) { }    # El archivo existe.

if (-z $archivo) { } # Longitud cero.

if (-O LOG) { } # LOG propio de un UID real.

die "$archivo no es archivo de texto" unless -T $archivo;

 

Hosted by www.Geocities.ws

1