[SP-pm] Problemas com JSON e PERL

Walter Silvestre Coan w.coan at terra.com.br
Wed Jun 16 11:00:34 PDT 2010


Então...

Seguindo todas as dicas que voces mandaram descobri o seguinte:
- Fiz a alteração do parametro do open conforme o Daniel e quase todos 
pediram, a principio continuou conseguindo criar o arquivo porém ainda com o 
conteudo em branco.
- Então fiz a sugestão do Frederico usando o dumper, consegui finalmente 
mostrar em tela o valor da variavel e realmente ela esta sendo carregada com 
o conteudo que eu preciso levar para o Json. As informações foram 
apresentadas corretamente em tela (nem precisou debugar).
OBS: Blabos infelizmente meu conhecimento em Perl é inicial quase Zero (e 
principalmente porque não fui eu que escrevi o codigo, simplesmente estou 
tentando utiliza-lo). Mas acredito que voce esteja correto em sua afirmação 
sobre a forma como foi feito. Pois simplesmente coloquei sua sugestão do 
bloco de tratamento de erro e obtive a seguinte mensagem em tela:
"Undefined subroutine &main::to_json called at scriptLattes line 1739."

E agora vem a pergunta. Mas nas primeiras linhas do programa eu tenho:
use JSON;

Alguma sugestão?


Walter
----- Original Message ----- 
From: "Daniel de Oliveira Mantovani" <daniel.oliveira.mantovani at gmail.com>
To: <saopaulo-pm at mail.pm.org>
Sent: Wednesday, June 16, 2010 2:44 PM
Subject: Re: [SP-pm] Problemas com JSON e PERL


Faça o que o Blabos disse, e coloque,
use strict;
use warnings;
No começo do arquivo, e veja se acontece algum erro ou warning. Isso
vai te ajudar muito.

http://perldoc.perl.org/strict.html
http://perldoc.perl.org/warnings.html

[]'s

2010/6/16 Walter Silvestre Coan <w.coan at terra.com.br>:
> Complementando meu email anterior e respondendo ao e-mail do Andre,
>
> Realmente o código que eu mandei esta incorreto. No e-mail anterior eu
> acredito ter mandado o correto agora. Bom quanto a versão do Perl vou 
> tentar
> atualizar para ver se ajuda de alguma forma. Quanto a questão de pacotes,
> sim nas primeiras vezes que eu tentei rodar o script varios problemas de
> falta de pacotes foram aparecendo e eu mandei bala no apt-get ate que 
> parou
> de dar erros e o script rodou até o final. Portanto nenhum erro é
> apresentado em tela, simplesmente o arquivo database.json permanece em
> branco.
>
> Vou tentar as alterações propostas pelos colegas da lista e retorno se
> funcionar.
>
> Mais uma vez obrigado.
>
> Walter
>
> ----- Original Message -----
> From: Andre Carneiro
> To: saopaulo-pm at mail.pm.org
> Cc: saopaulo-pm at pm.org
> Sent: Wednesday, June 16, 2010 11:51 AM
> Subject: Re: [SP-pm] Problemas com JSON e PERL
>
>
> 2010/6/16 Walter Silvestre Coan <w.coan at terra.com.br>
>>
>> Bom dia,
>>
>> Estou tentando adaptar uma aplicação chamada ScriptLattes
>> (http://scriptlattes.sourceforge.net/). Ele é uma aplicação escrita em 
>> Perl
>> com o objetivo de realizar o download dos dados da Plataforma Lattes, que
>> são curriculos academicos de alunos e professores. Uma das novas
>> funcionalidades desse script é que os dados baixados são salvos em um
>> arquivo .json, possibilitando serem importados para outros formatos ou 
>> até
>> bancos de dados. O problema é que quando eu rodo esse script no meu 
>> ambiente
>> (Ubuntu 8.4 server). Ele simplesmente gera o arquivo .json em branco 
>> (apesar
>> do script realizar as outras tarefas corretamente). O autor do script me
>> ajudou e fez alguns testes, e no computador dele esta funcionando
>> perfeitamente, gerando os dados no formato json. Acredito que o problema
>> esteja no meu ambiente, porém eu ja baixei vários pacotes referentes ao 
>> PERL
>> e ao JSON mas nada de funcionar.
>>
>> O codigo que gera o arquivo basicamente é esse:
>> sub createJsonFile
>> {
>> # Arquivo JSON contendo todas as produções do grupo.
>> # Este arquivo pode ser utilizado para popular bancos de dados.
>
> Isto não deveria estar descomentado e com um ';' no final, e sendo 
> atribuído
> a alguma variável???
>>
>> #to_json($allInfoByType)
>
>
>>
>> open(JSONFILE, ">$outputDir/database.json");
>> eval
>> {
>> print JSONFILE lenght($allInfoByType);
>> };
>> close(JSONFILE);
>> }
>
> Até aqui blz. Mas database.json tem conteúdo? Se não tiver o teu script 
> não
> vai gravar nada em $allInfoByType, concorda?
>
>>
>>
>>
>> Alguns dados:
>> Perl versão 5.8.8
>
> Alguma chance de você atualizar isso para 5.10 pelo menos? Não que tenha a
> ver com o problema(não necessariamente)...
>
>>
>>
>> Pacotes instalados:
>> waltercoan at ldubuntuserver:~$ dpkg --get-selections | grep -i json
>> libjson-any-perl install
>> libjson-perl install
>>
>
> Humm , Ok! você instalou uma porrada de coisa. Mas perl reclama de 
> módulo(s)
> faltando? Ou o S.O. reclama de alguma coisa?
> Vc tem alguma dificuldade com o CPAN, ou simplesmente prefere instalar
> coisas via dpkg ? Eu só uso apt-get/dpkg como último recurso(módulos com
> dependências chatas de resolver, normalmente), no caso de módulos Perl.
> Primeiro porque com o CPAN, tem-se o módulo compilado na máquina, e
> configurado nos locais configurados para o perl corretamente. Eu não tenho
> como garantir isso instalando via apt/dpkg(ou tô falando besteira), por 
> isso
> pergunto novamente se Perl está reclamando de módulos faltantes?
>
> Mais detalhes do problema, por favor. Mensagens de erro se possível...
>
>>
>>
>>
>> Obrigado,
>>
>> Walter Coan
>> w.coan at terra.com.br
>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
> --
> André Garcia Carneiro
> Analista/Desenvolvedor Perl
> (11)82907780
>
> ________________________________
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
"If you’ve never written anything thoughtful, then you’ve never had
any difficult, important, or interesting thoughts. That’s the secret:
people who don’t write, are people who don’t think."
_______________________________________________
SaoPaulo-pm mailing list
SaoPaulo-pm at pm.org
http://mail.pm.org/mailman/listinfo/saopaulo-pm



More information about the SaoPaulo-pm mailing list