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