Eowyn escribiste:Using perl Syntax Highlighting
my %cumpleaños
= (Enero
, (Javier
, Ana
, Eduardo
))
(Febrero
, (Mikel
, Jon
, Ainhoa
, Lourdes
))Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Sabiendo la clave "Febrero", por ejemplo, quiero que me devuelva el vector (Mikel, Jon, Ainhoa, Lourdes).
Se escribe así:
Using perl Syntax Highlighting
my %cumpleaños
= (
Enero
=> [ 'Javier', 'Ana', 'Eduardo' ],
Febrero
=> [ 'Mikel', 'Jon', 'Ainhoa', 'Lourdes' ],
)Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
o así:
Using perl Syntax Highlighting
my %cumpleaños
= (
Enero
=> [ qw(Javier Ana Eduardo
) ],
Febrero
=> [ qw(Mikel Jon Ainhoa Lourdes
) ],
)Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Es decir, se trata de un
hash que contiene
arrays, como valores.
Para obtener los valores de 'Enero', hacemos:
my @cumpleaños_en_Enero = @{ $cumpleaños{Enero} };Eowyn escribiste:La otra duda es respecto a ese vector. Por lo que sé hay una variable en Perl, especial, que sirve de último indice de un vector cuyo número de componentes no sabemos. La variable es la siguiente: $#variable. El caso es que, supongo que es una tontería, pero en mi Ubuntu los comentarios se escriben tras la almohadilla y por tanto, al escribir $#variable, escribe $ pero a partir de # lo deja como comentario.
$#variable hace referencia al último índice de un
array @variable. Ejemplo: si tenemos
@array = ( 1, 4, 6, 8 );$#array valdrá 3 (los índices empiezan en 0).
Otra cosa es acceder al último valor. Puedes hacerlo de estas dos maneras:
print $array[$#array];print $array[-1];Tu eliges la que te parezca más clara. Para mí, la más clara es usando el índice -1
En cuanto a que dices que escribes en Ubuntu es lo mismo que decir que escribes en Windows: no se puede escribir en un sistema operativo, sino que, en realidad, estás usando un editor de textos. ¿Cuál? Lo recomendable es usar un editor de textos que sepa colorear bien el código Perl. Yo suelo usar Kate (en KDE) o gedit (en Gnome) o joe o vim (en la terminal), pero
hay muchos más.
De todas maneras, esto solo es 'colorear'. A Perl no le importa nada de qué color lo veamos.
Lo que importa es lo que se escriba. No cómo se escriba.