[SP-pm] Problemas com JSON e PERL

Blabos de Blebe blabos at gmail.com
Wed Jun 16 08:26:58 PDT 2010


One more thing...

Considere seriamente utilizar no começo do script:

use strict;
use warnings;
use diagnostics;

A não utilização dos dois primeiros, implica em credibilidade zero do
código, na *minha* opinião.

Qualquer coisa, só falar.

Abraços



2010/6/16 Blabos de Blebe <blabos em gmail.com>:
> Bom dia,
>
> Walter, primeiramente bem vindo ao grupo. Eu ainda não o conheço, e
> esteja convidado ao nosso próximo ES.
>
> Não interprete mal o que eu vou dizer, ok? Estamos querendo ajudar, ok?
>
> O seu código demonstra um dialeto de 'Jurassic Perl', muito comum no
> ambiente acadêmico. Considere bater um papo com o pessoal da lista
> sobre coisas mais autais e robustas.
>
> Você abre o arquivo usando 2 argumentos para open, o que apesar de
> funcional é desencorajado. Além do mais, você não checa se o arquivo
> foi aberto corretamente. Uma forma mais indicada para abrir o arquivo
> seria:
>
> open my $fh, '>', 'filemane.json' or die 'Cannot open file';
>
> Você possui permissão de escrita no diretório indicado? Imagino que
> sim, já que o arquivo é criado.
>
> Você também encapsula a chamada a print dentro de um bloco eval, mas
> não checa se houve algum problema. Uma alternativa seria:
>
> eval {
>    code;
> }
> if ($@) {
>    Error handling;
> }
>
> De qualquer forma, não vi na documentação do print (perldoc -f print)
> nenhuma menção a lançamento de exceções, então acho que o eval é
> dispensável aqui.
>
> O print recebe uma lista de argumento e imprime-os no filehandle
> indicado, ou stdout se não indicado.
>
> A função length retorna o comprimento da string passada como argumento.
>
> Además há um erro de lógica bem trivial na sua subrotina. Consegue
> identificar qual?
>
> Abraços
>
> 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.
>>
>> 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($allInfoByType)
>>  open(JSONFILE, ">$outputDir/database.json");
>>  eval
>>  {
>>   print JSONFILE lenght($allInfoByType);
>>  };
>>  close(JSONFILE);
>> }
>>
>>
>> Alguns dados:
>> Perl versão 5.8.8
>>
>> Pacotes instalados:
>> 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
>>
>


More information about the SaoPaulo-pm mailing list