<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> 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} ?<BR> </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 <fglock@gmail.com><BR>Para: Cascavel Perl Mongers <cascavel-pm@pm.org><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<danielrantunes@yahoo.com.br> escreveu:<BR>><BR>><BR>> Oi Amigos, duvidazinha conceitual :<BR>><BR>> #!/usr/bin/perl -w<BR>> use strict;<BR>> package test;<BR>> my %dataTest=( 1 => 'TEST 1',<BR>> 2 => 'TEST 2',<BR>> 3 => 'TEST
3',<BR>> 9 => 'TEST 9',<BR>> 10 => 'TEST 10',<BR>> 13 => 'TEST 13',<BR>> 43 => 'TEST
43',<BR>> 16 => 'TEST 16',<BR>> 44 => 'TEST 44',<BR>> );<BR>> print $dataTest{1},"\n\n";<BR>> package main;<BR>> print $test::dataTest{1},"\n\n";<BR>><BR>> Este script resulta nisto :<BR>><BR>> daniel@sun4w_nodeF:~/bin$ ./testNS.pl<BR>> TEST 1<BR>><BR>> Use of uninitialized value in print at ../testNS.pl line 16.<BR>><BR>> Agora o mesmo script com uma pequena troca de "my" para "our" :<BR>><BR>> #!/usr/bin/perl -w<BR>> use strict;<BR>> package test;<BR>> our %dataTest=( 1
=> 'TEST 1',<BR>> 2 => 'TEST 2',<BR>> 3 => 'TEST 3',<BR>> 9 => 'TEST 9',<BR>> 10 => 'TEST
10',<BR>> 13 => 'TEST 13',<BR>> 43 => 'TEST 43',<BR>> 16 => 'TEST 16',<BR>> 44 => 'TEST 44',<BR>> );<BR>> print
$dataTest{1},"\n\n";<BR>> package main;<BR>> print $test::dataTest{1},"\n\n";<BR>><BR>> E o resultado deste script é :<BR>><BR>> daniel@sun4w_nodeF:~/bin$ ./testNS.pl<BR>> TEST 1<BR>><BR>> TEST 1<BR>><BR>> O correto é o uso do "our" mesmo ou usando "my" eu consigo de alguma<BR>> forma enxergar a variável dataTest no namespace main ?<BR>> Obrigado.<BR>><BR>><BR>> Daniel (r) Antunes<BR>> profissional de informática<BR>> msn daniel.legend@terra.com.br<BR>> mobile + 55 11 8965 2999<BR>> gnu/linux user #238553<BR>><BR>><BR>> ________________________________<BR>> Novo Yahoo! Cadê? - Experimente uma nova busca.<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><BR>><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>