• Publicidad

Cómo declaro variables globales

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

Cómo declaro variables globales

Notapor ManuelPerl » 2013-09-15 15:41 @695

¿Cómo declaro las variables $n1, $n2 y $resultado para que no me dé este error? Ahora, si le pongo my $n1; ya no me da error, pero my() es local. ¿Cómo la declaro global en este programa?

#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
print "Introduce un primer numero:\n";
$n1 = <>;
print "Introduce un segundo numero:\n";
$n2 = <>;
$resultado=$n1+$n2;
print "El resultado es:$resultado\n";

Global symbol "$n1" requires explicit package name at sumanumero3 line 6.
Global symbol "$n2" requires explicit package name at sumanumero3 line 8.
Global symbol "$resultado" requires explicit package name at sumanumero3 line 9.

Global symbol "$n1" requires explicit package name at sumanumero3 line 9.
Global symbol "$n2" requires explicit package name at sumanumero3 line 9.
ManuelPerl
Perlero nuevo
Perlero nuevo
 
Mensajes: 41
Registrado: 2011-06-21 16:23 @724

Publicidad

Re: Cómo declaro variables globales

Notapor explorer » 2013-09-15 15:53 @703

Si declaras una variable con my(), al principio del programa (fuera de cualquier contexto {}), entonces es una variable local conocida en todo el programa (casi se podría decir que es global), así que te vale con poner my(). Comprueba que tu programa sí funciona.

my($n2, $resultado);


Si, de todas maneras, las quieres declarar como global, puedes usar our(), que declara variables globales dentro del paquete en que se encuentre la declaración.

our($n1, $n2, $resultado);

Más información en perldoc -f our
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

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