[Cascavel-pm] Name Spaces
Daniel ® Antunes
danielrantunes em yahoo.com.br
Quarta Julho 4 13:14:03 PDT 2007
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 ® 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.
http://yahoo.com.br/oqueeuganhocomisso
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070704/22631a58/attachment.html
Mais detalhes sobre a lista de discussão Cascavel-pm