[Bh-pm] Desafio Segundo encontro

Donato Azevedo donatoaz at gmail.com
Thu Jul 14 07:13:31 PDT 2005


Traduzindo:

On 7/13/05, Donato Azevedo <donatoaz at gmail.com> wrote:
> # perl -MLWP::Simple -e "for(split /\n\n/,get
> 'http://slashdot.org/index.rss'){print $_,$/x2 if
> /<description.*VOIP/||!/<item /;}"

Por partes:
perl -MLWP::Simple
a opção -M chama diretamente o módulo seguinte, no caso LWP::Simple.
outro exemplo é a chamada ao CPAN:
#perl -MCPAN -e shell

get 'http://slashdot.org/index.rss') é a função do LWP::Simple que pega o rss.
ele retorna uma String contendo todo o rss.

split /\n\n/ divide a String em substrings sendo o divisor uma linha em branco.

for () pega como parametro uma lista, no caso as substrings e em cada
iteração coloca a substring na variavel especial $_

dentro do bloco do for, em toda iteração portanto, temos um childNode
do document Element. Imprimimos somente os nodos que possuem:
/<description.*VOIP/ (.* quer dizer qualquer caracter menos newline)
ou que nao possuam:
/<item / (ou seja, não imprime os itens que nao possuem VOIP).


se precisarem de outra explicação me falem!! =) estou pensando em uma
maneira de resolver o problema do tag <items>

> --
> ***********************************
> Donato Azevedo - UFMG
> Engenharia de Controle e Automação
> ATAN eBusiness
> msn:donatoaz at hotmail.com
> Slackware user #390325
> ***********************************
> We will encourage you to develop the three great virtues
> of a programmer: laziness, impatience, and hubris.
>    "Larry Wall - Programming perl"
> 


-- 
***********************************
Donato Azevedo - UFMG
Engenharia de Controle e Automação
ATAN eBusiness
msn:donatoaz at hotmail.com
Slackware user #390325
***********************************
We will encourage you to develop the three great virtues
of a programmer: laziness, impatience, and hubris.
    "Larry Wall - Programming perl"


More information about the Bh-pm mailing list