Perl: Arrays
Perl: Arrays
A continuación el manejo de arrays en Perl en forma resumida.Al final del artículo un ejemplo para copiar/pegar e ir probando.
Inicializar un array
El arroba @ se refiere a todo el array, ejemplo @nombre_array es todo el array.Range operator .. , se utiliza para definiciones de un rango de valores, ejemplo (1..5) es para valores de uno a cinco.
Operador qw. El operador qw permite el uso de valores sin utilizar comas y comillas.
@arreglo= qw (uno dos tres) es lo mismo que @arreglo=(“uno”, “dos”, “tres”).
Ejemplos de inicializaciones
- @arreglo= qw (un dos tres). Cargar valores en forma de lista.
- @arreglo=(1..5). Cargar los números del uno al cinco.
- @arreglo1=@arreglo2. Copiar un array en otro.
Acceder a los valores de un array
$#nombre_array indica la posición del último elemento de un arreglo, comenzando desde cero.$arreglo[índice] Acceder a un elemento del arreglo.
$arreglo[índice]=0 Asignar valor cero a un arreglo.
***** El uso de índices negativos cuenta desde el final del array.
Asignación de valores a variables
Se pueden asignar valores a variables de la siguiente forma:($fred,$barney,$dino)=(“peble”,”nada”,undef)
Si se colocan valores diferentes de cada lado se tiene lo siguiente:
($fred,$barney)=(“peble”,”nada”,undef) dos variables, un valor ignorado “el último”.
($fred,$barney,$dino)=(“peble”,”nada”) a $dino se le asigna undef
Funciones para acceso a arrays
pop, vacía un array, si el
array está vacío entonces entrega undef.
push, inserta un valor al
arreglo, push(@arreglo,0) o puede ser push @arreglo,0 sin los
paréntesis.
shift, obtiene un elemento del
array el primero de la lista.
unshift, agrega elementos a un
array.
@arreglo = qw / uno dos tres /;
$m = shift(@arreglo); # $m obtiene gets "dino",
@array now has ("fred", "barney")
$n = shift @array; # $n gets "fred",
@array now has ("barney")
shift @array; # @array is now empty
$o = shift @array; # $o gets undef,
@array is still empty
unshift(@array, 5); # @array now has
the one-element list (5)
unshift @array, 4; # @array now has
(4, 5)
@others = 1..3;
unshift @array, @others; # @array now
has (1, 2, 3, 4, 5)
Archivo arreglo.pl
------------------------------ CORTAR AQUI ------------------------------
#!/usr/bin/perl use 5.006; use strict; use warnings; ############################################ # Manejo de arrays # Ejemplos basados en Schwartz - Learning Perl 5 ############################################ # Definir un arreglo y recorrerlo. ############################################ my @arreglo = qw/ cinco seis uno dos tres cuatro /; my $elemento; foreach $elemento (@arreglo) { print "$elemento \n"; } print "Cantidad elementos: $#arreglo \n"; #Ordena el array my @ordenado= sort (@arreglo); print "Ordena el arreglo alfabeticamente ->\n"; print " @ordenado \n"; ############################################# # Distintos tipos de asignaciones y uso de funciones ############################################# @arreglo = qw / uno dos tres cuatro /; my $primero = shift(@arreglo); # $primero recibe "uno" my $segundo = shift @arreglo; # $segundo recibe "dos" print "Valor primero-> $primero \n"; print "Valor segundo-> $segundo \n"; shift @arreglo; # @arreglo vacio my $sinValor = shift @arreglo; # $sinValor obtiene undef, @arreglo vacio unshift(@arreglo, 5); #inserta el valor 5 unshift @arreglo, 4; #inserta el valor 4 @ordenado = 1..3; #asigna del 1 al 3 unshift @arreglo, @ordenado; # inserta los elementos de @ordenado al array @arreglo (1, 2, 3, 4, 5) print "\n Valor final del array---> @arreglo \n";------------------------------ CORTAR AQUI ------------------------------
Comentarios
Publicar un comentario