<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><DIV></DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;Legal, mas por que&nbsp;fazendo a declaração com o&nbsp;"my"&nbsp;dentro do&nbsp;package test eu não consigo enxergá-la no package main usando&nbsp;$test::dataTest{1} ?<BR>&nbsp;</DIV>Daniel ® Antunes<BR><EM><FONT color=#007f40>profissional de informática</FONT></EM><BR><EM><FONT color=#007f40>msn</FONT></EM> daniel.legend@terra.com.br<BR><EM><FONT color=#007f40>mobile</FONT></EM> + 55 11 8965 2999<BR><EM><FONT color=#007f40>gnu/linux user</FONT></EM> #238553
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"><BR><BR>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">----- Mensagem original ----<BR>De: Flavio S. Glock &lt;fglock@gmail.com&gt;<BR>Para: Cascavel Perl Mongers &lt;cascavel-pm@pm.org&gt;<BR>Enviadas: Quarta-feira, 4 de Julho de 2007 18:05:39<BR>Assunto: Re: [Cascavel-pm] Name Spaces<BR><BR>
<DIV>O 'my' declara uma variável que só pode ser vista dentro do bloco atual.<BR><BR>O %test::dataTest é uma variável global, pode ser vista de qualquer lugar.<BR><BR>O 'our' declara que %test::dataTest é o mesmo que %dataTest, dentro do<BR>bloco atual.<BR><BR>Em 04/07/07, Daniel (r) Antunes&lt;danielrantunes@yahoo.com.br&gt; escreveu:<BR>&gt;<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Oi Amigos, duvidazinha conceitual :<BR>&gt;<BR>&gt; #!/usr/bin/perl -w<BR>&gt; use strict;<BR>&gt; package test;<BR>&gt; my %dataTest=( 1&nbsp;&nbsp; =&gt; 'TEST 1',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp; =&gt; 'TEST 2',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp; =&gt; 'TEST
 3',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp; =&gt; 'TEST 9',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;=&gt; 'TEST 10',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 13&nbsp;&nbsp;=&gt; 'TEST 13',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 43&nbsp;&nbsp;=&gt; 'TEST
 43',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16&nbsp;&nbsp;=&gt; 'TEST 16',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 44&nbsp;&nbsp;=&gt; 'TEST 44',<BR>&gt; );<BR>&gt; print $dataTest{1},"\n\n";<BR>&gt; package main;<BR>&gt; print $test::dataTest{1},"\n\n";<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Este script resulta nisto :<BR>&gt;<BR>&gt; daniel@sun4w_nodeF:~/bin$ ./testNS.pl<BR>&gt; TEST 1<BR>&gt;<BR>&gt; Use of uninitialized value in print at ../testNS.pl line 16.<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Agora o mesmo script com uma pequena troca de "my" para "our" :<BR>&gt;<BR>&gt; #!/usr/bin/perl -w<BR>&gt;&nbsp;&nbsp;use strict;<BR>&gt;&nbsp;&nbsp;package test;<BR>&gt; our %dataTest=( 1&nbsp;&nbsp;
 =&gt; 'TEST 1',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp; =&gt; 'TEST 2',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp; =&gt; 'TEST 3',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp; =&gt; 'TEST 9',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;=&gt; 'TEST
 10',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13&nbsp;&nbsp;=&gt; 'TEST 13',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;43&nbsp;&nbsp;=&gt; 'TEST 43',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16&nbsp;&nbsp;=&gt; 'TEST 16',<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;44&nbsp;&nbsp;=&gt; 'TEST 44',<BR>&gt;&nbsp;&nbsp;);<BR>&gt;&nbsp;&nbsp;print
 $dataTest{1},"\n\n";<BR>&gt;&nbsp;&nbsp;package main;<BR>&gt;&nbsp;&nbsp;print $test::dataTest{1},"\n\n";<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E o resultado deste script é :<BR>&gt;<BR>&gt; daniel@sun4w_nodeF:~/bin$ ./testNS.pl<BR>&gt;&nbsp;&nbsp;TEST 1<BR>&gt;<BR>&gt;&nbsp;&nbsp;TEST 1<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; O correto é o uso do "our" mesmo ou usando "my" eu consigo de alguma<BR>&gt; forma enxergar a variável dataTest no namespace main ?<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Obrigado.<BR>&gt;<BR>&gt;<BR>&gt; Daniel (r) Antunes<BR>&gt; profissional de informática<BR>&gt; msn daniel.legend@terra.com.br<BR>&gt; mobile + 55 11 8965 2999<BR>&gt; gnu/linux user #238553<BR>&gt;<BR>&gt;<BR>&gt;&nbsp;&nbsp;________________________________<BR>&gt; Novo Yahoo! Cadê? - Experimente uma nova busca.<BR>&gt; _______________________________________________<BR>&gt; Cascavel-pm mailing list<BR>&gt; Cascavel-pm@pm.org<BR>&gt; <A
 href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target=_blank>http://mail.pm.org/mailman/listinfo/cascavel-pm</A><BR>&gt;<BR>_______________________________________________<BR>Cascavel-pm mailing list<BR>Cascavel-pm@pm.org<BR><A href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target=_blank>http://mail.pm.org/mailman/listinfo/cascavel-pm</A></DIV></DIV><BR></DIV></div><br>
        




      <hr size=1>Novo <a href="http://yahoo.com.br/oqueeuganhocomisso ">Yahoo! Cadê?</a> - Experimente uma nova busca. </body></html>