[Perl] Creacion de variables

Salvador Ortiz Garcia sog@msg.com.mx
Sat, 15 Dec 2001 23:04:12 -0600 (CST)


On Thu, 13 Dec 2001, Eduardo Martinez wrote:

> Hola a todos.
>=20
> Bueno, directo al grano..
> Tengo un archivo con una lista de nombres, p. ej.
>=20
> luis
> alberto
> raul
> pedro
> arturo
>=20
> Desde un programa en Perl, necesito abrir este archivo y crear un array
> asociativo con el nombre de cada uno de los nombres que aparecen en el
> archivo, es decir que debo tener los arreglos: %luis, %alberto, %raul,
> %pedro, %arturo

Te estan recomendando usar eval, y eso es matar pulgas a ca=F1onazos lo qye=
=20
resulta muy poco perliano. Pues todas los hashes (arreglos asociativos) a
continuaci=F3n son _el mismo_:


      %luis =20
      %{luis} =20
      %{'luis'} =20
      %{"luis"}=20
      %{'lu' . 'is'}
      %{join('',qw(l u i s)}
      $x=3D'luis'; %{$x}
    =20
Qu=E9da claro el concepto?

Por cierto, la forma can=F3nica de una variable "nombrada" es la segunda de
la lista. Y de la tercera en adelante se llaman 'referencias suaves'.

Ahora, mi curiosidad, para qu=E9 quieres que tus variables se llam=E9n as=
=ED?,
para un programa, el nombre de una variable resulta irrelevante, si
quiesieras tener tantos hashes como nombres, bien pues puedes crear un
hash de hashes, usando los nombres como llaves.

=20
Saludos

Salvador Ortiz