• Publicidad

Qué representa esta función y qué significa \$

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Qué representa esta función y qué significa \$

Notapor bl4ckc00k1e » 2009-08-16 16:02 @710

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$nombre="entero";
$entero=5;
$rentero=\$entero;
$$nombre=6;
$$rentero=7;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


¿Qué valor tiene $entero? ¿7? ¿y depende de cómo sigas esta función?
¿Y \$entero de qué se diferencia de $entero? ¿y la doble '$'?
Última edición por explorer el 2009-08-16 16:59 @749, editado 2 veces en total
Razón: Ortografía, sintaxis
Imagen
Avatar de Usuario
bl4ckc00k1e
Perlero nuevo
Perlero nuevo
 
Mensajes: 22
Registrado: 2009-08-14 21:56 @956

Publicidad

Re: Qué representa esta función y qué significa \$

Notapor explorer » 2009-08-16 17:08 @756

Si quieres saber qué es lo que hace una serie de línea o un programa entero, puedes arrancar perl en modo depuración:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
perl -d kk.pl
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


El código muestra dos formas distintas de crear referencias a otras variables.

$rentero es una referencia a una variable escalar ($entero). Así que $$rentero es lo mismo que escribir ${$rentero}. Esto hace que accedamos al contenido de $entero, al desreferenciar. Con ${} estamos diciendo que lo que hay entre las llaves es una referencia a un escalar. Y eso es lo que obtenemos.

En cambio, $nombre es una referencia simbólica: está guardando el nombre de la variable. Así, con $$nombre, es lo mismo que poner $entero. Y así accedemos al contenido de la variable $entero.

Atención: las variables simbólicas NUNCA hay que usarlas: hacen el código muy difícil de leer y mantener. Casi siempre se pueden sustituir por un diccionario.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Qué representa esta función y qué significa \$

Notapor bl4ckc00k1e » 2009-08-16 20:03 @877

Gracias por la contestación, me quedó claro, y más en el IRC.
Última edición por explorer el 2009-08-17 02:23 @141, editado 1 vez en total
Razón: Ortografía
Imagen
Avatar de Usuario
bl4ckc00k1e
Perlero nuevo
Perlero nuevo
 
Mensajes: 22
Registrado: 2009-08-14 21:56 @956


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron