Foros del Web » Programación para mayores de 30 ;) » Programación General »

variables en perl

Estas en el tema de variables en perl en el foro de Programación General en Foros del Web. Jaja como ven ahora aprendo perl. Curioso no??? Bueno tengo un duda medio absurda pero no me deja dormir. Se supone que tenemos variables escalares ...
  #1 (permalink)  
Antiguo 12/05/2005, 17:11
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
variables en perl

Jaja como ven ahora aprendo perl.
Curioso no???

Bueno tengo un duda medio absurda pero no me deja dormir.

Se supone que tenemos variables escalares que se ponen con $mivariable. Tambien hay unas que son arrays que segun esto se ponen como @mivariable(de que tamaño el array????) y por ahi oi que existen arryas asociativos que son algo asi como arrays bidimensionales en c y creo que se definen asi: %mi variable.

Bueno, cual es la diferencia entre cada una mas exactamente?

Tambien, si son arrays, tienen un limite de elementos, o son ilimitados(lo dudo mucho)?

No existe otro tipo de dato?

Saludos
  #2 (permalink)  
Antiguo 12/05/2005, 18:36
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Hola Instru

Variables hay 3 como bien mensionas...Mira estos ejemplos

my $escalar = 'Hola mundo!!!';

my @array = ('Hola','mundo','!!!');
# $array[1] equivale a la palabra mundo
$array[3] = $escalar;

my %hash;
$hash{'nombre'} = 'Esteban';
$hash{'apellido'} = 'Quintana';
$hash{$var1} = $var2;

Como ves el array es un simple vector de $escalares, y lo mismo pasa en los hashs, son variables que guardan pares ordenados como nombre=valor, o sea, que son como un array pero en vez de llamarlos por un numero, tienen un índice que lo creas vos alfanuméricamente (o solo alfabético, no lo recuerdo...).

Se entiende ?
Ahora bien, el límite de los arrays no tengo idea !!! eso ya es hilar muy finito y nunca llegué al límite...jeje

Espero que te sirva

Saludos
PD: En el FAQ y en los tutoriales de perlenespanol.com encontrarás mucha info para empezar con PERL, BUENVENIDO A ESTE MARAVILLOSO LENGUJE...
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 12/05/2005, 20:44
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Gracias por tu respusta.
He estado leyendo un libro de Perl CGI que tengo pero el libro es muy muy malo, por eso pregunto y seguire preguntando cosillas asi.

Por otra parte, perl CGI es interpretado segun yo, tambien existe una version que se compile perl? lo pregunto porque se que perl es un "lenguaje de programacion" muy potente entonces si quisiera saber si tambien esxiste la version de compilacion.

Ya tomando lo de las variables, pues is, le entendi mas o menos, se parece increiblemente a javascript y eso de que tus arrays tengan un tamaño indefinido(osea no tienes que ponerl el numero tu) me parece muy padre ya que en C siempre que defines un array, tienes que poner el tamaño de este. Espero no mal acostumbrarme.

Pero bueno, en C hay librerias de funciones estandar, en perl existe algo parecido?
Oi por ahi que para CGI hay un tal CGI.pm que tiene funciones para la programacion CGI.
Espero me ayudes en estas dudas algo absurdas...

Saludos
  #4 (permalink)  
Antiguo 12/05/2005, 20:45
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Ops, se me olvidaba ..., afuerza tengo que poner el "my"??? o para que sirve exactamente?

Saludos
  #5 (permalink)  
Antiguo 13/05/2005, 06:26
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Bueno amigo, pregunta todo lo que quieras que pare eso estamos...jeje...Voy por partes:

Perl compilado...Perl es interpretado, bajas el intérprete de PERL y ya, pero parra mayor velocidad tenés una versión del apache que se llama MOD_PERL en la que tiene el intérprete de perl ya incorporado en memoria con lo cual realmente va muy rápido...

la verdad es que como lenguaje si es muy potente y es muy fácil de usar comparándolo con C y eso que las sintaxis se parecen mucho...

Que si en PERL hay librerías ??? Pues SI !!! se llaman módulos, de hecho la extención .pm significa PERL MODULE...Estos módulos son totalmente gratuito y hay un sitio que los concentra a todos, hay miles y miles, es increible, tenés módulos para lo que se te ocuura hacer...El sitio es www.cpan.org y para buscar search.cpan.org

My es para declarar la variable como local de donde estés, si hacés

while (my $var = <file>){

}

Esa variable $var solo sirve para adentro del while, y cuando el programa sale PERL la elimina y recupera automáticamente el espacio de memoria...Es muy bueno PERL optimizando la memoria...

Te recomiendo uses el pragma "use strict" que te obliga a programar bien, o sea, a usar my en todas las variables y hacer las referencias correctamente...Tenés un tutorial en perlenespanol que te explica como usarlo y sus ventajas...MUY RECOMENDABLE !!!

Bueno, amigo, ya sabés, preguntá lo que desees...

Saludos
__________________
Esteban Quintana
  #6 (permalink)  
Antiguo 13/05/2005, 14:33
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
A ok, pues que bien. Porque en realidad aprenmdo perl para programacion en general, y pues de paso tambien para CGI.
Y que bien que tambien haya modulos, en C tambien hay millones de librerias gratuitas sobretodo las graficas.......

Ok, entonces para usarlas como las incluyo??

Y otra cosilla, tambien existen los operadores de bits en perl?

saludos
  #7 (permalink)  
Antiguo 13/05/2005, 16:20
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Operadores de bits ?? no se a que te referís con ese término, no conozco el significado de eso...

Para usar un módulo simplemente tenés que llamarlo desde tu script

use DBI;
USE CGI;

Claro está que tenés que tener el módulo instalado...jeje

Saludos
PD: Para instalar módulos tembién tenés tutoriales en lapágina que ya te comenté...
__________________
Esteban Quintana
  #8 (permalink)  
Antiguo 13/05/2005, 21:50
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
a ok, muchas gracias

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:57.