
20/04/2005, 06:03
|
 | $moderador{'Esteban'} | | Fecha de Ingreso: febrero-2002 Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 23 años Puntos: 90 | |
cuando hacés my @lineas=<FICHERO>; lo que hace es cargarte cada línea del archivo en un elemento del array o sea que
$lineas[0];
#El primer elemento contiene usuario1|contraseña1
$lineas[1];
@El segundo elemento contiene usuario2|contraseña2
Y así, entonces por cada línea tienes un elemento del array...
Ahora bien, cuando usas my para definir una variable lo que hacés es decirle que esa variable es local...Local al ámbito en el que estés...
Si hacés my en un foreach, esa variable solo sirve para el foreach, si lo hacés para el IF solamente sirve para el if, y una vez fuera PERL destrulle la variable liberando el espacio en memoria...Por ejemplo
foreach my $linea (@lineas){
#acá puedo usar $linea, tiene contenido
}
#acá NO puedo usar $linea, no tiene contenido, de hecho no existe la variable
Una forma muy correcta de programar es usando el pragma use strict, que obliga al programador a definir correctamente todas las variables, y así hacer programas más seguros y mejor programados....
En perlenespanol.com tienes un tutorial sobre como usar el pragma use strict, te lo recomiendo mucho ya que es una de las mejores técnicas para programar...
Saludos
__________________ Esteban Quintana |