Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

modulo Inline::Python

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Perl modulo Inline::Python

    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

    Código:
    #!/usr/bin/perl
    
    use Inline Python
    
    __END__
    __Python__
    
    print "isso aqui é python"


    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

    Código:
    #!/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)


    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"

    Código:
    #!/usr/bin/perl
    
    use Inline::Python "py_eval";
    depois podemos usar a função py_eval com o codigo python

    Código:
    #!/usr/bin/perl
    
    use Inline::Python "py_eval";
    
    py_eval('print "codado em python"');


    quando o codigo tem mais de uma linha usamos o ponto e virgula representando a quebra de linha

    Código:
    #!/usr/bin/perl
    
    use Inline::Python "py_eval";
    
    py_eval('print "codado em python";print "segunda linha"');
    ou simplesmente usamos outro py_eval

    Código:
    #!/usr/bin/perl
    
    use Inline::Python "py_eval";
    
    py_eval('kodo = 315');
    py_eval('print kodo');
    outra forma ainda é por trechos

    Código:
    #!/usr/bin/perl
    
    use Inline Python => <<"END"
    
    kodo="python dentro de perl"
    print kodo
    
    END
    ;


    é possivel executar codigo perl dentro do codigo python com o perl.eval

    Código:
    #!/usr/bin/perl
    
    use Inline Python;
    
    __END__
    __Python__
    
    perl.eval("$nick = 'kodo no kami'")
    perl.eval("print 'apelido = ' . $nick")


    podemos executar uma função do perl dentro do python usando perl seguido da função

    Código:
    #!/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

    Código:
    #!/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 '-' )

    Código:
    #!/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)


    bom galera esse é basico do que se pode fazer com esse modulo e com essa combinaçao de linguagens \o

    by kodo no kami


    Conheça o sistema e manipule ele, se limite ao sistema e seja manipulado por ele ~kodo no kami
    Similar Threads
X
Working...
X