entao galera nesse tutorial vou ensinar como programar em python dentro da linguagem perl, para gente fazer isso vamos usar o modulo Inline::Python que deve ser baixado pelo cpan, a vantagem de usar python dentro do perl que nos permite usar varios modulos indiretamente da linguagem python, a forma mais simples de usar esse modulo seria importar o modulo no caso "Inline Python" depois finalizar o codigo perl com __END__ e depois usar __Python__ seguido do codigo em python
#!/usr/bin/perl
use Inline Python
__END__
__Python__
print "isso aqui é python"
http://i68.tinypic.com/i3s1so.jpg
lembrando que a sintaxe da linguagem perl e python são diferentes vamos ver outro exemplo usando uma função e uma estrutura condicional em python que comprova que estamos mexendo com python
#!/usr/bin/perl
use Inline Python
__END__
__Python__
def kodo_nome(n):
print "o nome digitado foi " + nome
nome = raw_input("digite seu nome: ")
kodo_nome(nome)
http://i67.tinypic.com/2d7von8.jpg
outra forma da gente escrever o codigo python é usando a função py_eval porem temos que declara o modulo de forma diferente dos exemplos anteriores sendo ele Inline::Python "py_eval"
#!/usr/bin/perl
use Inline::Python "py_eval";
depois podemos usar a função py_eval com o codigo python
#!/usr/bin/perl
use Inline::Python "py_eval";
py_eval('print "codado em python"');
http://i64.tinypic.com/4vn6ls.jpg
quando o codigo tem mais de uma linha usamos o ponto e virgula representando a quebra de linha
#!/usr/bin/perl
use Inline::Python "py_eval";
py_eval('print "codado em python";print "segunda linha"');
ou simplesmente usamos outro py_eval
#!/usr/bin/perl
use Inline::Python "py_eval";
py_eval('kodo = 315');
py_eval('print kodo');
outra forma ainda é por trechos
#!/usr/bin/perl
use Inline Python => <<"END"
kodo="python dentro de perl"
print kodo
END
;
http://i67.tinypic.com/2lv0mj9.jpg
é possivel executar codigo perl dentro do codigo python com o perl.eval
#!/usr/bin/perl
use Inline Python;
__END__
__Python__
perl.eval("$nick = 'kodo no kami'")
perl.eval("print 'apelido = ' . $nick")
http://i64.tinypic.com/oqw3si.jpg
podemos executar uma função do perl dentro do python usando perl seguido da função
#!/usr/bin/perl
use Inline Python;
sub kodosomar{
$resu = $_[0] + $_[1];
print $resu;
}
__END__
__Python__
perl.kodosomar(300,15)
ou inversamente do python dentro do perl
#!/usr/bin/perl
use Inline Python;
kodosomar(300,15);
__END__
__Python__
def kodosomar(x,y):
r = x + y
print r
um exemplo de um script que faz a requisição em um site para buscar o html usando modulo em python no caso o urllib2 e depois jogar o resultado em uma função em perl para recortar a hora por uma regex (OBS: no html do site ta escrito " <<< AVISO: NÃO USE ESTA HORA EM APLICATIVOS " kkkk vish acabei usando nesse script '-' )
#!/usr/bin/perl
use Inline Python;
sub pregex{
$texto = $_[0];
@hora = $texto =~ /<p id="relogio">(\d+:\d+:\d+)/;
print "hora certa: " . $hora[0] . "\n";
}
__END__
__Python__
import urllib2
kodo = urllib2.urlopen("http://www.horariodebrasilia.org/")
kami = kodo.read()
perl.pregex(kami)
http://i68.tinypic.com/dpv1fm.jpg
bom galera esse é basico do que se pode fazer com esse modulo e com essa combinaçao de linguagens \o
by kodo no kami
Solicito que o usuário por favor mude o tamanho máximo de largura de todas as imagens postadas de 1280 pra 400 x proporcional e edite a sua assinatura, que está 100 píxels de altura acima das regras vigentes neste forum.