[SP-pm] Interpretando JavaScript com uma Biblioteca Perl [Was: Este Silêncio Me Assusta...]
Luis Motta Campos
luismottacampos em yahoo.co.uk
Terça Junho 17 05:16:10 PDT 2008
André Garcia Carneiro wrote:
> - Lendo o documento de especificação de JavaScript. O objetivo final
> é dar um motor de javascript para perl capaz de se integrar com
> WWW::Mechanize, e resolver problemas extremamente chatos, por não ter
> suporte a JavaScript.
Eu já tinha te prometido ajudar com isso, não? Olha, aqui tem a ajudinha
que eu posso dar agora... :) espero que não sobre muito do seu problema
para esmagar, triturar, e reduzir a pedacinhos.
O artigo (http://www.perlmonks.org/?node_id=666236) aponta para o módulo
JavaScript no CPAN
(http://search.cpan.org/~claesjac/JavaScript-1.04/lib/JavaScript.pm),
que é um interpretador completo, OO, implementado em Perl. A julgar pela
versão (1.04), deve ser estável.
Como alternativa, você pode usar a implementação do SpiderMonkey, via
biblioteca JavaScript::SpiderMonkey
(http://search.cpan.org/~tbusch/JavaScript-SpiderMonkey-0.19/SpiderMonkey.pm),
que faz a mesma coisa, mas com backend em C.
E a implementação que você quer para o WWW:Mechanize já existe, é o
WWW::Mechanize::Plugin::JavaScript
(http://search.cpan.org/perldoc?WWW%3A%3AMechanize%3A%3APlugin%3A%3AJavaScript),
e depende do módulo JavaScript (mencionado anteriormente).
Existe também uma alternativa: o Mozilla::Mechanize
(http://search.cpan.org/~slanning/Mozilla-Mechanize-0.05/lib/Mozilla/Mechanize.pm)
diz que pode fazer tudo o que seu browser faz, mas dentro do código do
teu programa Perl.
No windows, você ainda tem como alternativa usar o IE para interpretar
Javascript, com a biblioteca Win32::IE::Mechanize
(http://search.cpan.org/~abeltje/Win32-IE-Mechanize-0.009/lib/Win32/IE/Mechanize.pm),
do Abel Timmerman, aqui do NL-PM. Suporte técnico de altíssimo nível
garantido com umas cervejinhas (ele gosta de heineken).
Para terminar, esta página
(http://ejohn.org/blog/spicing-up-embedded-javascript/) ensina como
integrar JavaScript::SpiderMonkey com Perl, vale dar uma olhada.
Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão SaoPaulo-pm