[SP-pm] Problemas com JSON e PERL

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Wed Jun 16 07:57:59 PDT 2010


2010/6/16 Daniel de Oliveira Mantovani <daniel.oliveira.mantovani em gmail.com>:
> 2010/6/16 Walter Silvestre Coan <w.coan em 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.
>
> Certo, agora deu para entender melhor. Vamos lá, começando pela cultura:
> http://rio.pm.org/faq.pl#faq4
>
>
>
>>
>> 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.
>>  #to_json(
>
> O que isso retorna ? Você verificou se retorna o que deveria ? Isso
> está alterando o estado da variável "$allInfoByType" ? Isso me parece
> muita confusão, side-effect sux.
>
>>  open(JSONFILE, ">$outputDir/database.json");
>
> Evite usar filehandle para abrir handle com open, e use três argumentos:
> open, $jasonfile,'>', "$outputDir/database.json" or die $!;

s/filehandle/bareword/; s/handle/filehandle/;

Evite usar bareword para abrir filehandle com open, e use três argumentos:
open, $jasonfile,'>', "$outputDir/database.json" or die $!;

:)



>
>
>
>>  eval
>>  {
>>   print JSONFILE lenght($allInfoByType);
>>  };
>
> Por que você está imprimindo no handle dentro de um eval ?
>
>>  close(JSONFILE);
>> }
>>
>>
>> Alguns dados:
>> Perl versão 5.8.8
>>
>> Pacotes instalados:
>
> Certo vamos lá, você não deve usar módulos do CPAN empacotados, pelo
> gerenciador de pacote. Os pacotes com os módulos são muito
> desatualizados.
>
> Você conhece o CPAN ?
> Você deve instalar os módulos do CPAN locais em algum lugar que não
> tenha conflito com os módulos dos pacotes. Você pode fazer isso usando
> local::lib.
>
> http://blog.blabos.org/2009/08/instalando-modulos-do-cpan-via-locallib/
> http://64.150.190.83/artigo/2009/UsandoCpan
>
>
>
> Depois de você fazer isso, diga nos se ainda está dando problema.
>
> []'s
>
>> waltercoan em ldubuntuserver:~$ dpkg --get-selections | grep -i json
>> libjson-any-perl    install
>> libjson-perl     install
>>
>> waltercoan em ldubuntuserver:~$ dpkg --get-selections | grep -i perl
>> libalgorithm-c3-perl    install
>> libappconfig-perl    install
>> libarchive-tar-perl    install
>> libbit-vector-perl    install
>> libcache-cache-perl    install
>> libcache-fastmmap-perl    install
>> libcarp-assert-more-perl   install
>> libcarp-assert-perl    install
>> libcarp-clan-perl    install
>> libcatalyst-modules-perl   install
>> libcatalyst-perl    install
>> libcatalyst-view-tt-perl   install
>> libcgi-formbuilder-perl    install
>> libcgi-simple-perl    install
>> libclass-accessor-chained-perl   install
>> libclass-accessor-grouped-perl   install
>> libclass-accessor-perl    install
>> libclass-c3-componentised-perl   install
>> libclass-c3-perl    install
>> libclass-data-accessor-perl   install
>> libclass-data-inheritable-perl   install
>> libclass-inspector-perl    install
>> libclass-mop-perl    install
>> libclass-throwable-perl    install
>> libclass-trigger-perl    install
>> libcompress-raw-zlib-perl   install
>> libcompress-zlib-perl    install
>> libconfig-any-perl    install
>> libdata-dump-perl    install
>> libdata-optlist-perl    install
>> libdata-page-perl    install
>> libdata-visitor-perl    install
>> libdate-calc-perl    install
>> libdbd-mysql-perl    install
>> libdbi-perl     install
>> libdbix-class-perl    install
>> libdbix-class-schema-loader-perl  install
>> libdbix-contextualfetch-perl   install
>> libdeps-perl     install
>> libdeps-renderer-dot-perl   install
>> libdevel-stacktrace-perl   install
>> libdigest-hmac-perl    install
>> libdigest-sha1-perl    install
>> libemail-valid-perl    install
>> liberror-perl     install
>> libexporter-lite-perl    install
>> libextutils-autoinstall-perl   install
>> libextutils-cbuilder-perl   install
>> libextutils-parsexs-perl   install
>> libfile-copy-recursive-perl   install
>> libfile-modified-perl    install
>> libfile-slurp-perl    install
>> libgd-gd2-noxpm-perl    install
>> libgd-graph-perl    install
>> libgd-text-perl     install
>> libgraphviz-perl    install
>> libhtml-parser-perl    install
>> libhtml-prototype-perl    install
>> libhtml-scrubber-perl    install
>> libhtml-tagset-perl    install
>> libhtml-template-perl    install
>> libhtml-tree-perl    install
>> libhtml-widget-perl    install
>> libhttp-body-perl    install
>> libhttp-request-ascgi-perl   install
>> libhttp-server-simple-perl   install
>> libio-compress-base-perl   install
>> libio-compress-zlib-perl   install
>> libio-multiplex-perl    install
>> libio-pty-perl     install
>> libio-stringy-perl    install
>> libio-zlib-perl     install
>> libipc-run-perl     install
>> libipc-sharelite-perl    install
>> libjson-any-perl    install
>> libjson-perl     install
>> liblingua-en-inflect-number-perl  install
>> liblingua-en-inflect-perl   install
>> liblocale-gettext-perl    install
>> liblocale-maketext-lexicon-perl   install
>> liblocale-maketext-simple-perl   install
>> liblog-log4perl-perl    install
>> libmailtools-perl    install
>> libmime-types-perl    install
>> libmodule-build-perl    install
>> libmodule-find-perl    install
>> libmodule-install-perl    install
>> libmodule-pluggable-fast-perl   install
>> libmodule-pluggable-perl   install
>> libmodule-scandeps-perl    install
>> libmoose-perl     install
>> libmro-compat-perl    install
>> libnet-cidr-perl    install
>> libnet-daemon-perl    install
>> libnet-dbus-perl    install
>> libnet-dns-perl     install
>> libnet-domain-tld-perl    install
>> libnet-ip-perl     install
>> libnet-server-perl    install
>> libobject-signature-perl   install
>> libossp-uuid-perl    install
>> libpar-dist-perl    install
>> libparams-util-perl    install
>> libparams-validate-perl    install
>> libparse-recdescent-perl   install
>> libpath-class-perl    install
>> libplrpc-perl     install
>> librpc-xml-perl     install
>> librrds-perl     install
>> libscope-guard-perl    install
>> libset-object-perl    install
>> libsql-abstract-limit-perl   install
>> libsql-abstract-perl    install
>> libsub-exporter-perl    install
>> libsub-install-perl    install
>> libsub-name-perl    install
>> libsub-uplevel-perl    install
>> libtemplate-perl    install
>> libtemplate-plugin-class-perl   install
>> libtemplate-timer-perl    install
>> libterm-readkey-perl    install
>> libtest-exception-perl    install
>> libtest-longstring-perl    install
>> libtest-mockobject-perl    install
>> libtest-use-ok-perl    install
>> libtest-www-mechanize-perl   install
>> libtext-charwidth-perl    install
>> libtext-iconv-perl    install
>> libtext-simpletable-perl   install
>> libtext-wrapi18n-perl    install
>> libtie-ixhash-perl    install
>> libtimedate-perl    install
>> libtree-simple-perl    install
>> libtree-simple-visitorfactory-perl  install
>> libuniversal-can-perl    install
>> libuniversal-exports-perl   install
>> libuniversal-isa-perl    install
>> libuniversal-require-perl   install
>> liburi-perl     install
>> libversion-perl     install
>> libwww-mechanize-perl    install
>> libwww-perl     install
>> libxml-parser-perl    install
>> libxml-twig-perl    install
>> libxml-writer-perl    install
>> libyaml-perl     install
>> perl      install
>> perl-base     install
>> perl-modules     install
>>
>>
>> Obrigado,
>>
>> Walter Coan
>> w.coan em terra.com.br
>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em 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."
>



-- 
"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."


More information about the SaoPaulo-pm mailing list