<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9134789138589983710</id><updated>2024-11-05T19:00:01.784-08:00</updated><category term="artigos"/><category term="dicas"/><category term="equinocio"/><category term="eventos"/><category term="livros"/><category term="programação"/><category term="tutorial"/><category term="xml"/><title type='text'>Perl Brasil</title><subtitle type='html'>O maior blog em lingua portuguesa sobre Perl!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://perlbrasil.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://perlbrasil.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Francislon Silva</name><uri>http://www.blogger.com/profile/10205824107317712354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9134789138589983710.post-1396345708520294125</id><published>2011-04-05T19:21:00.000-07:00</published><updated>2011-04-05T19:21:19.798-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dicas"/><title type='text'>Revista Espírito Livre - Linguagens de Programação</title><content type='html'>A Revista Espírito Livre (&lt;a href=&quot;http://www.revista.espiritolivre.org/&quot;&gt;http://www.revista.espiritolivre.org/&lt;/a&gt;) desse mês traz como foco principal as Linguagens de Programação. Tem uma excelente entrevista com o criador do C++ além de vários artigos dissertando sobre esse universo das Linguagens de Programação. Recomendo a leitura.&lt;br /&gt;
&lt;br /&gt;
Link para a revista: &lt;a href=&quot;http://www.revista.espiritolivre.org/?p=921&quot;&gt;http://www.revista.espiritolivre.org/?p=921&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://perlbrasil.blogspot.com/feeds/1396345708520294125/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://perlbrasil.blogspot.com/2011/04/revista-espirito-livre-linguagens-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/1396345708520294125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/1396345708520294125'/><link rel='alternate' type='text/html' href='http://perlbrasil.blogspot.com/2011/04/revista-espirito-livre-linguagens-de.html' title='Revista Espírito Livre - Linguagens de Programação'/><author><name>PerlBrasil</name><uri>http://www.blogger.com/profile/05543488688574556707</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0g5b7ttnTV8SDV8QuFVtAWmLcFkZrdTJv1AAbb6yamdMJRPKtzCmNWxOU-z7vsFNMVP1XxaBwXLBWgSUQXirlAVpfkzvdLHmp61ckJJX_Ij3fgxAn8NZNL12frEDmI0/s220/perl.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134789138589983710.post-4226118946511181530</id><published>2011-04-03T21:48:00.000-07:00</published><updated>2011-04-03T21:54:25.124-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="artigos"/><category scheme="http://www.blogger.com/atom/ns#" term="programação"/><title type='text'>Verdades não tão conhecidas sobre programação</title><content type='html'>Vi esse post no IMasters, tradução de Thiago Fassina, e me sinto obrigado a compartilhar com vocês. O texto é perfeito.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Verdades não tão conhecidas sobre programação&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Sexta-feira, 01/04/2011 às 10h00, por &lt;a href=&quot;http://imasters.com.br/autor/1121/&quot;&gt;Thiago Fassina&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este artigo é a tradução de um excelente texto escrito por &lt;a href=&quot;http://dotmac.rationalmind.net/about/&quot;&gt;David Veksler&lt;/a&gt;, no qual ele conta o que sua experiência como programador lhe ensinou.&lt;br /&gt;
&lt;br /&gt;
O texto original pode ser encontrado &lt;a href=&quot;http://dotmac.rationalmind.net/2010/08/some-lesser-known-truths-about-programming/&quot;&gt;aqui&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
E vamos ao que interessa:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Um programador gasta cerca de 10% a 20% do seu tempo escrevendo código. Normalmente escreve entre 10 e 12 linhas por dia, que estarão presentes no produto final independentemente do seu nível de perícia ou experiência. Bons programadores gastam cerca de 90% do seu tempo pensando, pesquisando e experimentando maneiras de encontrar a solução ótima. Os programadores ruins gastam quase 90% do tempo debugando e fazendo alterações muitas vezes aleatórias na tentativa de “fazer funcionar”. &lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Um bom programador é dez vezes mais produtivo do que um programador comum. Um excelente programador é entre 20 e 100 vezes mais produtivo do que um convencional. Não é um exagero. Estudos desde os anos 60 têm mostrado isso consistentemente. Um mau programador não é só improdutivo - além de não concluir o trabalho com êxito, gera dores de cabeça e trabalho extra para outras pessoas consertarem. &lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Excelentes programadores gastam pouco do seu tempo escrevendo (código que de fato estará no resultado final). Os programadores que gastam muito do seu tempo escrevendo provavelmente não estão encontrando e utilizando soluções existentes para problemas antigos. Bons programadores são ótimos em reconhecer e em reutilizar padrões comuns e não têm medo de refatorar seu código constantemente, a fim de atingir a solução ótima. Programadores ruins escrevem código que falha em integridade conceitual, não-redundância, hierarquia e padrões, tornando complicada a refatoração, fazendo com que seja mais fácil jogar fora todo o trabalho e recomeçar. &lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Software, como qualquer coisa, obedece às leis da entropia. Contínuas mudanças levam ao desgaste do software e de sua integridade conceitual planejada originalmente. A entropia é inevitável, no entanto, programadores que falham ao estabelecer a integridade conceitual criam sistemas que se desgastam tão rapidamente, que muitas vezes se tornam inúteis e caóticos demais mesmo antes de serem concluídos. Possivelmente, o motivo mais comum para falha em projetos é o rompimento da integridade conceitual devido à entropia descontrolada (o segundo mais comum é a entrega de um produto diferente do que o cliente esperava). A entropia desacelera exponencialmente o desenvolvimento e é o principal motivo para deadlines desesperadoras. &lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Um estudo realizado em 2004 revelou que 51% dos projetos falham ou irão falhar em alguma funcionalidade importante e que 15% simplesmente vão falhar como um todo, o que é um grande avanço desde 1994, quando 31% dos projetos falhavam criticamente. &lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Embora muitos softwares sejam desenvolvidos em equipe, não se trata de uma atividade democrática. Geralmente somente uma pessoa é responsável pelo “design” do sistema e o resto do time o completa com detalhes. &lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Programar é um trabalho pesado. É uma atividade mental intensa. Bons programadores pensam sobre seu trabalho 24/7. Eles escrevem seu código mais importante no chuveiro, sonhando etc., porque o trabalho mais importante é feito longe do teclado. Projetos não são concluídos mais rapidamente gastando mais tempo no escritório ou adicionando pessoas novas ao projeto. &lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;“Um excelente operário pode ser duas ou até três vezes mais produtivo que um operário comum, já um bom programador pode fazer com que seu trabalho seja mais do que 10 mil vezes mais produtivo do que um programador comum” - Bill Gates&lt;/blockquote&gt;&lt;br /&gt;
Fonte: &lt;a href=&quot;http://imasters.com.br/artigo/20302/carreira/verdades-nao-tao-conhecidas-sobre-programacao&quot;&gt;http://imasters.com.br/artigo/20302/carreira/verdades-nao-tao-conhecidas-sobre-programacao&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://perlbrasil.blogspot.com/feeds/4226118946511181530/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://perlbrasil.blogspot.com/2011/04/verdades-nao-tao-conhecidas-sobre.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/4226118946511181530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/4226118946511181530'/><link rel='alternate' type='text/html' href='http://perlbrasil.blogspot.com/2011/04/verdades-nao-tao-conhecidas-sobre.html' title='Verdades não tão conhecidas sobre programação'/><author><name>PerlBrasil</name><uri>http://www.blogger.com/profile/05543488688574556707</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0g5b7ttnTV8SDV8QuFVtAWmLcFkZrdTJv1AAbb6yamdMJRPKtzCmNWxOU-z7vsFNMVP1XxaBwXLBWgSUQXirlAVpfkzvdLHmp61ckJJX_Ij3fgxAn8NZNL12frEDmI0/s220/perl.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134789138589983710.post-6017837118525934372</id><published>2011-04-01T07:12:00.000-07:00</published><updated>2011-04-01T07:15:06.571-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="eventos"/><title type='text'>II São Paulo Perl Workshop</title><content type='html'>O São Paulo Perl Workshop é um evento organizado pelo grupo São Paulo Perl Mongers, que é um dos grupos mais ativos de desenvolvedores e entusiastas de Perl no Brasil e no mundo. O grupo conta com profissionais de diversos perfis: empreendedores, acadêmicos, engenheiros, administradores de sistemas e desenvolvedores de software. O foco da comunidade Perl é transformar a diversidade da comunidade em inovação tecnológica e o evento tem o intuito de divulgar as tecnologias baseadas em Perl desenvolvidas recentemente, em particular, as soluções voltadas para agilidade do desenvolvimento em empreendimentos. &lt;br /&gt;
&lt;br /&gt;
O tema da edição de 2011 é &quot;Desenvolvimento Ágil no Mundo Real&quot;, em alusão às técnicas de desenvolvimento ágil que ganharam espaço ao longo da primeira década do século 21. Serão abordadas ferramentas para desenvolvimento baseado em testes, integração contínua, otimização e refatoração.&lt;br /&gt;
&lt;br /&gt;
Fonte: &lt;a href=&quot;http://perlworkshop.com.br/evento&quot;&gt;http://perlworkshop.com.br/evento&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://perlbrasil.blogspot.com/feeds/6017837118525934372/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://perlbrasil.blogspot.com/2011/04/ii-sao-paulo-perl-workshop.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/6017837118525934372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/6017837118525934372'/><link rel='alternate' type='text/html' href='http://perlbrasil.blogspot.com/2011/04/ii-sao-paulo-perl-workshop.html' title='II São Paulo Perl Workshop'/><author><name>PerlBrasil</name><uri>http://www.blogger.com/profile/05543488688574556707</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0g5b7ttnTV8SDV8QuFVtAWmLcFkZrdTJv1AAbb6yamdMJRPKtzCmNWxOU-z7vsFNMVP1XxaBwXLBWgSUQXirlAVpfkzvdLHmp61ckJJX_Ij3fgxAn8NZNL12frEDmI0/s220/perl.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134789138589983710.post-3469970731930870317</id><published>2011-03-24T08:43:00.000-07:00</published><updated>2011-04-10T21:28:31.463-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="artigos"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><category scheme="http://www.blogger.com/atom/ns#" term="xml"/><title type='text'>Lendo um arquivo XML com XPath</title><content type='html'>&lt;div align=&quot;LEFT&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;A leitura de arquivos XML não costumava ser algo trivial em diversas linguagens de programação. Com o tempo surgiram diversas bibliotecas para facilitar o trabalho com este tipo de arquivo.&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;A World Wide Web Consortium(&lt;a href=&quot;http://www.w3.org/&quot;&gt;http://www.w3.org/&lt;/a&gt;) padronizou uma linguagem para leitura de arquivos XML denominada &quot;XML Path Language&quot;, ou simplesmente XPath(&lt;a href=&quot;http://www.w3.org/TR/xpath/&quot;&gt;http://www.w3.org/TR/xpath/&lt;/a&gt;). Antes de falar da implementação da XPath em Perl vamos entender alguns conceitos importantes sobre este padrão. Vamos tomar como exemplo o seguinte arquivo XML: &lt;/span&gt;&lt;/div&gt;&lt;div id=&quot;code&quot;&gt;&lt;div align=&quot;LEFT&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Biblioteca&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Livro&lt;/span&gt;&lt;span style=&quot;color: #007f00;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt; &lt;/span&gt;ISBN&lt;/span&gt;&lt;span style=&quot;color: #810081;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;1234567&quot; &lt;/span&gt;&lt;span style=&quot;color: #007f00;&quot;&gt;Ano&lt;/span&gt;&lt;span style=&quot;color: #810081;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;2000&quot;&lt;/span&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: DejaVuSansMono,monospace; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Paginas&amp;gt;&lt;/span&gt;300&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Paginas&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Titulo&amp;gt;&lt;/span&gt;A arte de programar em meia-hora&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Titulo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Exemplares&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Codigo&amp;gt;&lt;/span&gt;1&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Codigo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Codigo&amp;gt;&lt;/span&gt;2&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Codigo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Exemplares&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Livro&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Livro&lt;/span&gt;&lt;span style=&quot;color: #007f00;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt; &lt;/span&gt;ISBN&lt;/span&gt;&lt;span style=&quot;color: #810081;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;7654321&quot; &lt;/span&gt;&lt;span style=&quot;color: #007f00;&quot;&gt;Ano&lt;/span&gt;&lt;span style=&quot;color: #810081;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;1710&quot;&lt;/span&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Paginas&amp;gt;&lt;/span&gt;500&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Paginas&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Titulo&amp;gt;&lt;/span&gt;Aprenda a usar o ábaco em 21 dias&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Titulo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Exemplares&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Codigo&amp;gt;&lt;/span&gt;10&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Codigo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Codigo&amp;gt;&lt;/span&gt;20&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Codigo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Codigo&amp;gt;&lt;/span&gt;30&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Codigo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;Codigo&amp;gt;&lt;/span&gt;40&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Codigo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Exemplares&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #00009a;&quot;&gt;&amp;lt;/Livro&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #00009a; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&amp;lt;/Biblioteca&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
A XPath prega que um arquivo XML deve ser representado basicamente como uma árvore de Nós, Atributos, Valores e Caminhos.&lt;br /&gt;
&lt;b&gt;Nós&lt;/b&gt;: As tags do nosso documento. Na figura a seguir podemos ver os nós sendo representados em uma estrutura de árvore:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhamz7-ieDnnNA-Otjtxq25kcO_WSreeEnWhX4WGDYQE-8qlNmZbGSQwJOhX0KDRKu2HKaZjv_JTV66rOMOu6ZfMyuE2uTzNmJq97IMM61K9J_K61ai40JleolKu9O0qN3uloQfjSDbOJo/s1600/nos.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhamz7-ieDnnNA-Otjtxq25kcO_WSreeEnWhX4WGDYQE-8qlNmZbGSQwJOhX0KDRKu2HKaZjv_JTV66rOMOu6ZfMyuE2uTzNmJq97IMM61K9J_K61ai40JleolKu9O0qN3uloQfjSDbOJo/s320/nos.png&quot; width=&quot;288&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Atributos&lt;/b&gt;: São os atributos internos aos nós. No nó &#39;Livro&#39;, por exemplo, nós temos os atributos &#39;ISBN&#39; e &#39;Ano&#39;.&lt;br /&gt;
&lt;b&gt;Valores&lt;/b&gt;: No contexto de atributo um valor é aquilo que aparece logo depois do sinal de &#39;=&#39;. No contexto de nó, um valor é aquele entre a abertura e fechamento de uma tag. &lt;br /&gt;
&lt;b&gt;Caminhos&lt;/b&gt;: São os &quot;endereços&quot; de cada nó representados na estrutura hierárquica a partir do nó principal. Por exemplo: &#39;//Biblioteca/Livro&#39; representa o endereço do nó Livro no XML. Vejamos outros caminhos possíveis na nossa árvore:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlegviXrtCMXcYD0Id_-TWQS2QRphhROhVTAeqhgorfemAqAKnLs81-g3a4c6gSOT1PQlx1_OL5_oK_3pZi7Fpa65k75YssnfzKYh_3PjSqLg4LKKstVz8JA3o35l5qs2000keNMEJNQ/s1600/caminhos.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;281&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlegviXrtCMXcYD0Id_-TWQS2QRphhROhVTAeqhgorfemAqAKnLs81-g3a4c6gSOT1PQlx1_OL5_oK_3pZi7Fpa65k75YssnfzKYh_3PjSqLg4LKKstVz8JA3o35l5qs2000keNMEJNQ/s320/caminhos.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
A linguagem XPath determina outra gama de conceitos que não é o foco do nosso post, mas se você se interessar acesse o link &lt;span style=&quot;color: black;&quot;&gt;&lt;a href=&quot;http://www.w3.org/TR/xpath/&quot;&gt;http://www.w3.org/TR/xpath/&lt;/a&gt;&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
A implementação da XPath em Perl está contida no módulo XML::XPath, que você pode instalar diretamente via CPAN ou acessando o link &lt;a href=&quot;http://search.cpan.org/%7Emsergeant/XML-XPath-1.13/XPath.pm&quot;&gt;http://search.cpan.org/~msergeant/XML-XPath-1.13/XPath.pm&lt;/a&gt;. Para criar um objeto do tipo XML::XPath, fazemos:&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;my&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt; &lt;/span&gt;$xpath &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;=&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;XML&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;::&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;XPath&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;filename&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$inputFile&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
E para procurar por determinado nó, fazemos:&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;my&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt; $nodeset &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt; $xpath&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&#39;//Biblioteca/Livro&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
O método &lt;i&gt;&lt;b&gt;find&lt;/b&gt;&lt;/i&gt; do objeto XML::XPath retornará um conjunto de nós de acordo com o caminho que lhe for passado. No nosso caso será retornado um conjunto de nós &#39;Livro&#39;. O módulo XML::XPath encapsula o conjunto de nós em um objeto do tipo XML::XPath::NodeSet.&lt;br /&gt;
Para iterar no conjunto de nós, o objeto XML::XPath::NodeSet possui o método &lt;b&gt;&lt;i&gt;get_nodelist&lt;/i&gt;&lt;/b&gt;. Assim, para iterar pelos nós &#39;Livro&#39; retornados, fazemos:&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;foreach my &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$context &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$nodeset&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;get_nodelist&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;) { }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Onde a variável &lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$context&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; a cada iteração estará apontando para o novo &#39;Livro&#39; pesquisado. Para recuperar os valores dos atributos e nós filhos de cada livro iterado, fazemos:&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;foreach my &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$context &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$nodeset&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;get_nodelist&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;my &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$isbn &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;= &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$xpath&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;findvalue&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&#39;@ISBN&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$context&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;my &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$ano &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;= &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$xpath&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;findvalue&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&#39;@Ano&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$context&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;my &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$paginas &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;= &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$xpath&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;findvalue&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&#39;Paginas&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$context&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;my &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$titulo &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;= &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$xpath&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;findvalue&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&#39;Titulo&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$context&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;my &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$exemplares &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;= &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$xpath&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;find&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&#39;Exemplares/Codigo&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$context&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;foreach my &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$newcontext &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$exemplares&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;get_nodelist&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;){&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;my &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$codigo &lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;= &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$xpath&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;findvalue&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&#39;.&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;$newcontext&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: #301010;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Aqui vale ressaltar que atributos(ISBN e Ano no nosso exemplo) de nós são recuperados somente com o sinal de &#39;@&#39; antes do nome do atributo. Os nós-folhas &#39;Paginas&#39; e &#39;Titulo&#39; aparecem somente uma vez em cada livro, logo, podemos pegar o valor diretamente através do método &lt;b&gt;&lt;i&gt;findvalue&lt;/i&gt;&lt;/b&gt;. No caso dos exemplares, podem existir diversos códigos, por isso tivemos que iterar pelo conjunto de nós retornados através do método &lt;b&gt;&lt;i&gt;find&lt;/i&gt;&lt;/b&gt; pertencente ao objeto XML::XPath.&lt;br /&gt;
&lt;br /&gt;
A diferença básica do método &lt;i&gt;&lt;b&gt;find&lt;/b&gt;&lt;/i&gt; e o método &lt;b&gt;&lt;i&gt;findvalue&lt;/i&gt;&lt;/b&gt; é que o primeiro retorna o conjunto de nós encapsulado em um objeto XML::XPath::NodeSet, o qual poderá ser iterado via método &lt;i&gt;&lt;b&gt;get_nodelist&lt;/b&gt;&lt;/i&gt;, já o método &lt;b&gt;&lt;i&gt;findvalue&lt;/i&gt;&lt;/b&gt; retorna o conjunto de nós em uma String encapsulada no objeto XML::XPath::Literal, o qual obviamente não poderá ser iterado.&lt;br /&gt;
&lt;br /&gt;
Aqui vai o exemplo completo de um programa para parsear o arquivo xml mostrado no início do post:&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #d10000;&quot;&gt;#!/usr/bin/perl&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;use &lt;/span&gt;&lt;/span&gt;XML&lt;span style=&quot;color: #301010;&quot;&gt;::&lt;/span&gt;XPath&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;my&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt; &lt;/span&gt;$inputFile &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;shift&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;die&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;Faltou passar o nome do arquivo!&quot;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;unless defined&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$inputFile&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;my&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt; &lt;/span&gt;$xpath &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;= &lt;/span&gt; XML&lt;span style=&quot;color: #301010;&quot;&gt;::&lt;/span&gt; XPath&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;new&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;filename &lt;span style=&quot;color: #301010;&quot;&gt;=&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$inputFile&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;my&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt; &lt;/span&gt;$nodeset &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$xpath&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;find&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&#39;//Biblioteca/Livro&#39;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;foreach my &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$context &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$nodeset&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;get_nodelist&lt;span style=&quot;color: #301010;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;print&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&quot;----------------------------------------------------\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;my&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt; &lt;/span&gt;$isbn &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$xpath&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;findvalue&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&#39;@ISBN&#39;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$context&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;print&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&quot;ISBN: $isbn\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;my&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt; &lt;/span&gt;$ano &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$xpath&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;findvalue&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&#39;@Ano&#39;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$context&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;print&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&quot;Ano de Publicação: $ano\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;my&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt; &lt;/span&gt;$paginas &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$xpath&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;findvalue&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&#39;Paginas&#39;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$context&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;print &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;Quantidade de Páginas: $paginas\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;my &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$titulo &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$xpath&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;findvalue&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&#39;Titulo&#39;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$context&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;print &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;Título: $titulo\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;my &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$exemplares &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$xpath&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;find&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&#39;Exemplares/Codigo&#39;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$context&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;print &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;Exemplares disponíveis:\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;foreach my &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$newcontext &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$exemplares&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;get_nodelist&lt;span style=&quot;color: #301010;&quot;&gt;){&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;my &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$codigo &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$xpath&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;-&amp;gt;&lt;/span&gt;findvalue&lt;span style=&quot;color: #301010;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&#39;.&#39;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #7f0000;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;$newcontext&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;print &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;\tCódigo: $codigo\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #301010;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #301010;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;LEFT&quot; style=&quot;margin-bottom: 0in;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMono,monospace;&quot;&gt;&lt;span style=&quot;color: #11119a;&quot;&gt;&lt;span style=&quot;font-family: DejaVuSansMonoBold,sans-serif;&quot;&gt;print &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff911e;&quot;&gt;&quot;----------------------------------------------------\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #301010;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
O módulo XML::XPath é muito simples de ser utilizado, apesar da complexidade da estrutura interna de objetos que são criados para representar o XML. Esta complexa estrutura torna caro sua utilização, visto que para XML grandes o tempo de processamento e de memória utilizada serão muito grandes.&lt;br /&gt;
&lt;br /&gt;
Existem outros módulos para leitura de XML em Perl que são computacionalmente mais baratos, mas que não implementam o padrão XPath, como o XML::Simple. No próximo post falarei um pouco mais sobre o XML::Simple.&lt;br /&gt;
&lt;br /&gt;
Abraços.</content><link rel='replies' type='application/atom+xml' href='http://perlbrasil.blogspot.com/feeds/3469970731930870317/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/lendo-um-arquivo-xml-com-xpath.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/3469970731930870317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/3469970731930870317'/><link rel='alternate' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/lendo-um-arquivo-xml-com-xpath.html' title='Lendo um arquivo XML com XPath'/><author><name>PerlBrasil</name><uri>http://www.blogger.com/profile/05543488688574556707</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0g5b7ttnTV8SDV8QuFVtAWmLcFkZrdTJv1AAbb6yamdMJRPKtzCmNWxOU-z7vsFNMVP1XxaBwXLBWgSUQXirlAVpfkzvdLHmp61ckJJX_Ij3fgxAn8NZNL12frEDmI0/s220/perl.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhamz7-ieDnnNA-Otjtxq25kcO_WSreeEnWhX4WGDYQE-8qlNmZbGSQwJOhX0KDRKu2HKaZjv_JTV66rOMOu6ZfMyuE2uTzNmJq97IMM61K9J_K61ai40JleolKu9O0qN3uloQfjSDbOJo/s72-c/nos.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134789138589983710.post-387705710133262568</id><published>2011-03-05T10:29:00.000-08:00</published><updated>2011-04-03T22:15:18.105-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="artigos"/><title type='text'>Tá procurando artigos sobre Perl?</title><content type='html'>No site da comunidade São Paulo Perl Mongers tem uma área de artigos muito rica em diversidade de temas. Lá tem artigos desde introdução à linguagem até técnicas de teste de software utilizando Perl. Vale a pena conferir:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://sao-paulo.pm.org/artigos&quot;&gt;http://sao-paulo.pm.org/artigos&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Outra boa fonte de artigos está no site perlmonks.com:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.perlmonks.com/?node=Tutorials&quot;&gt;http://www.perlmonks.com/?node=Tutorials&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Não podemos esquecer da documentação online do Perl:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://perldoc.perl.org/index-tutorials.html&quot;&gt;http://perldoc.perl.org/index-tutorials.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Juntando os livros disponibilizados no disco virtual e os artigos postados neste post, vocês tem uma rica base de informação para usufruir. Então não percam tempo e comecem a conhecer esta poderosa linguagem. Qualquer dúvida podem nos enviar email ou utilizar a página de contato do blog.</content><link rel='replies' type='application/atom+xml' href='http://perlbrasil.blogspot.com/feeds/387705710133262568/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/ta-procurando-artigos-sobre-perl.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/387705710133262568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/387705710133262568'/><link rel='alternate' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/ta-procurando-artigos-sobre-perl.html' title='Tá procurando artigos sobre Perl?'/><author><name>PerlBrasil</name><uri>http://www.blogger.com/profile/05543488688574556707</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0g5b7ttnTV8SDV8QuFVtAWmLcFkZrdTJv1AAbb6yamdMJRPKtzCmNWxOU-z7vsFNMVP1XxaBwXLBWgSUQXirlAVpfkzvdLHmp61ckJJX_Ij3fgxAn8NZNL12frEDmI0/s220/perl.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134789138589983710.post-4162087352716646044</id><published>2011-03-04T23:22:00.000-08:00</published><updated>2011-03-06T18:31:01.370-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="livros"/><title type='text'>Novos Livros no Disco Virtual</title><content type='html'>O disco virtual do blog foi atualizado com diversos livros, tais como, Beginning Perl, Modern Perl, Extreme Perl, Impatient Perl entre outros. Vale lembrar que todos estes livros permitem distribuição livre, ou seja, não precisam me denunciar por infringir leis de direitos autorais ;)&lt;br /&gt;
&lt;br /&gt;
Aconselho veemente começar pelo Beginning Perl, que é um excelente livro.&lt;br /&gt;
&lt;br /&gt;
Abraços e boa leitura.</content><link rel='replies' type='application/atom+xml' href='http://perlbrasil.blogspot.com/feeds/4162087352716646044/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/novos-livros-no-disco-virtual.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/4162087352716646044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/4162087352716646044'/><link rel='alternate' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/novos-livros-no-disco-virtual.html' title='Novos Livros no Disco Virtual'/><author><name>PerlBrasil</name><uri>http://www.blogger.com/profile/05543488688574556707</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0g5b7ttnTV8SDV8QuFVtAWmLcFkZrdTJv1AAbb6yamdMJRPKtzCmNWxOU-z7vsFNMVP1XxaBwXLBWgSUQXirlAVpfkzvdLHmp61ckJJX_Ij3fgxAn8NZNL12frEDmI0/s220/perl.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134789138589983710.post-3171700697971950635</id><published>2011-03-04T20:14:00.000-08:00</published><updated>2011-03-04T20:20:17.309-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="equinocio"/><title type='text'>Equinócio de Março</title><content type='html'>A comunidade Perl Mongers de São Paulo - &lt;a href=&quot;http://sao-paulo.pm.org/&quot;&gt;http://sao-paulo.pm.org&lt;/a&gt; - está comemorando neste mês o equinócio de Março, trazendo artigos sobre a linguagem Perl com foco no projeto &lt;a href=&quot;http://opendatabr.org/&quot;&gt;OpenData-Br&lt;/a&gt;. O calendário do Equinócio pode ser acompanhado no link &lt;a href=&quot;http://sao-paulo.pm.org/equinocio/2011&quot;&gt;http://sao-paulo.pm.org/equinocio/2011&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://perlbrasil.blogspot.com/feeds/3171700697971950635/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/equinocio-de-marco.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/3171700697971950635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/3171700697971950635'/><link rel='alternate' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/equinocio-de-marco.html' title='Equinócio de Março'/><author><name>PerlBrasil</name><uri>http://www.blogger.com/profile/05543488688574556707</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0g5b7ttnTV8SDV8QuFVtAWmLcFkZrdTJv1AAbb6yamdMJRPKtzCmNWxOU-z7vsFNMVP1XxaBwXLBWgSUQXirlAVpfkzvdLHmp61ckJJX_Ij3fgxAn8NZNL12frEDmI0/s220/perl.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134789138589983710.post-4008352184422690533</id><published>2011-03-04T20:02:00.001-08:00</published><updated>2011-03-04T20:02:59.401-08:00</updated><title type='text'>Alpha</title><content type='html'>&lt;div&gt;Muitas pessoas ao criar um blog não tem bem definido o escopo do  conteúdo a ser disponibilizado. Não é o nosso caso. O PerlBrasil surge  para suprir a lacuna de blogs em língua portuguesa sobre a linguagem de  programação Perl.&lt;/div&gt;&lt;div&gt;Traremos tutoriais, artigos, dicas e  notícias, sempre contando com a ajuda de vocês leitores. Lembrem-se que  este blog não é um canal unidirecional, nós mostraremos o conteúdo e  vocês postarão as dúvidas, críticas e sugestões para construírmos juntos  um espaço cada vez melhor.&lt;/div&gt;&lt;div&gt;Grande abraço a todos.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perlbrasil.blogspot.com/feeds/4008352184422690533/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/alpha.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/4008352184422690533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134789138589983710/posts/default/4008352184422690533'/><link rel='alternate' type='text/html' href='http://perlbrasil.blogspot.com/2011/03/alpha.html' title='Alpha'/><author><name>PerlBrasil</name><uri>http://www.blogger.com/profile/05543488688574556707</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0g5b7ttnTV8SDV8QuFVtAWmLcFkZrdTJv1AAbb6yamdMJRPKtzCmNWxOU-z7vsFNMVP1XxaBwXLBWgSUQXirlAVpfkzvdLHmp61ckJJX_Ij3fgxAn8NZNL12frEDmI0/s220/perl.gif'/></author><thr:total>0</thr:total></entry></feed>