[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