[Cascavel-pm] Res: Name Spaces
Daniel ® Antunes
danielrantunes em yahoo.com.br
Quarta Julho 4 18:13:16 PDT 2007
Legal, mas por que fazendo a declaração com o "my" dentro do package test eu não consigo enxergá-la no package main usando $test::dataTest{1} ?
Daniel ® Antunes
profissional de informática
msn daniel.legend em terra.com.br
mobile + 55 11 8965 2999
gnu/linux user #238553
----- Mensagem original ----
De: Flavio S. Glock <fglock em gmail.com>
Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
Enviadas: Quarta-feira, 4 de Julho de 2007 18:05:39
Assunto: Re: [Cascavel-pm] Name Spaces
O 'my' declara uma variável que só pode ser vista dentro do bloco atual.
O %test::dataTest é uma variável global, pode ser vista de qualquer lugar.
O 'our' declara que %test::dataTest é o mesmo que %dataTest, dentro do
bloco atual.
Em 04/07/07, Daniel (r) Antunes<danielrantunes em yahoo.com.br> escreveu:
>
>
> Oi Amigos, duvidazinha conceitual :
>
> #!/usr/bin/perl -w
> use strict;
> package test;
> my %dataTest=( 1 => 'TEST 1',
> 2 => 'TEST 2',
> 3 => 'TEST 3',
> 9 => 'TEST 9',
> 10 => 'TEST 10',
> 13 => 'TEST 13',
> 43 => 'TEST 43',
> 16 => 'TEST 16',
> 44 => 'TEST 44',
> );
> print $dataTest{1},"\n\n";
> package main;
> print $test::dataTest{1},"\n\n";
>
> Este script resulta nisto :
>
> daniel em sun4w_nodeF:~/bin$ ./testNS.pl
> TEST 1
>
> Use of uninitialized value in print at ../testNS.pl line 16.
>
> Agora o mesmo script com uma pequena troca de "my" para "our" :
>
> #!/usr/bin/perl -w
> use strict;
> package test;
> our %dataTest=( 1 => 'TEST 1',
> 2 => 'TEST 2',
> 3 => 'TEST 3',
> 9 => 'TEST 9',
> 10 => 'TEST 10',
> 13 => 'TEST 13',
> 43 => 'TEST 43',
> 16 => 'TEST 16',
> 44 => 'TEST 44',
> );
> print $dataTest{1},"\n\n";
> package main;
> print $test::dataTest{1},"\n\n";
>
> E o resultado deste script é :
>
> daniel em sun4w_nodeF:~/bin$ ./testNS.pl
> TEST 1
>
> TEST 1
>
> O correto é o uso do "our" mesmo ou usando "my" eu consigo de alguma
> forma enxergar a variável dataTest no namespace main ?
> Obrigado.
>
>
> Daniel (r) Antunes
> profissional de informática
> msn daniel.legend em terra.com.br
> mobile + 55 11 8965 2999
> gnu/linux user #238553
>
>
> ________________________________
> Novo Yahoo! Cadê? - Experimente uma nova busca.
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
____________________________________________________________________________________
Novo Yahoo! Cadê? - Experimente uma nova busca.
http://yahoo.com.br/oqueeuganhocomisso
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070704/551de45e/attachment-0001.html
Mais detalhes sobre a lista de discussão Cascavel-pm