Los arreglos indexados funcionan como listas; se pueden añadir elementos o quitarlos de cualquier extremo usando las siguientes funciones :
pop quita el último valor del final del arreglo.push añade valores al final del arreglo.
shift quita el primer valor al comienzo del arreglo.
unshift añade un valor al comienzo del arreglo.
Por ejemplo :
push (@list, $bar);push(@list, @rest);
$tos = pop(@list);
while ( $arg = shift(@ARGV) ) { }
unshift ( @ARGV, 'zeroth arg', 'first arg');
@list = split(/[, \t]+/, $expr);while (
) { ($login, $passwd, $uid, $gid, $gcos,
$home, $shell) = split(/:/);
}
+ El comando inverso de split es
$line = join(':', $login, $passwd, $uid,$gid, $gcos, $home, $shell);
foreach $tick (reverse 0 .. 10) { }
print sort @listsub numerically { $a - $b ; }
print sort numerically @list;
@lines = grep(!/^#/, @lines);
Para manejar arreglos asociativos, las funciones
while (($key,$value) = each %array){
printf "%s is %s\n", $key, $value;
}
foreach $key (keys %array)
{
printf "%s is %s\n", $key, $array{$key};
}
print reverse sort values %array