[SP-pm] Monitorar Arquivo de Log
Hernan Lopes
hernanlopes at gmail.com
Tue Oct 22 19:25:31 PDT 2013
Márcio,
Ha um tempo atrás, iniciei um tutorial para casos como o seu onde a pessoa
precisa de uma mãozinha:
https://github.com/hernan604/Tutorial-Regex-PT-BR
Se você ler ele, na parte de grupos eu mostro como agrupar os caracteres e
atribuir os mesmos nas variáveis. ie: (?<ano>...) e depois acessar com
$+{ano}
Segue um exemplo, que demonstra o retorno de uma regex, no caso é uma
lista. Isso é importante para aproveitar o tipo esperado.
Como é uma lista, é possível 'equalizar' a lista da esquerda com os itens
respectivos da lista da direita ($ble1, $ble2, $ble3).
perl -e ' my $str = "bla1 bla2 bla3"; my @matches = $str =~ m/bla\d/g; use
Data::Printer; warn p @matches; my ( $ble1, $ble2, $ble3 )= $str =~
m/bla\d/g; warn $ble1,$ble2,$ble3 ; my @matches2 = my ( $ble1, $ble2, $ble3
)= $str =~ m/bla\d/g; warn p @matches2'
vc pode usar o método acima, ou pode usar captura de grupos nomeadas
De qualquer maneira se quiser contribuir com suas solucões no tutorial,
fique a vontade.
[]s
Hernan
2013/10/22 Marcio - Google <marciorp at gmail.com>
> Blz, já consigo separar os dados e tal, mas agora to precisando de outra
> regex e não consegui montar.
>
> Preciso localizar e atribuir a uma variável, uma data válida no meio de
> uma string. Não sei em que posição ela vai estar, e o formato varia entre
> DD/MM/AA ou DD/MM/AAAA.
>
> Também preciso separar e atribuir a uma variável um valor numérico com
> duas casa decimais. Não sei o tamanho nem posição, exceto que o separador
> decimal é , e tem duas casas decimais.
>
> Dicas?
>
>
> [...]'s
>
> Marcio
>
> ========================================
> ########### Campanha Ajude o Marcio! ###########
> http://sosmarcio.blogspot.com.br/
> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
> ========================================
>
>
> Em 22 de outubro de 2013 22:19, Marcio - Google <marciorp at gmail.com>escreveu:
>
> Marcelo+++++
>>
>> Valeu, precisava remover os espaços mesmo ... :-)
>>
>>
>>
>> [...]'s
>>
>> Marcio
>>
>> ========================================
>> ########### Campanha Ajude o Marcio! ###########
>> http://sosmarcio.blogspot.com.br/
>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>> ========================================
>>
>>
>> Em 22 de outubro de 2013 21:53, Marcelo Milhomem <milhomem at is4web.com.br>escreveu:
>>
>>> Segue um exemplo rápido com escape --comentado-- ou com um regex
>>> simples pra remover os espaços:
>>>
>>> my $line = "T|blablablabla |blabla | mais blabla bla ";
>>> chomp $line;
>>> #my @p = split /\|/, $line;
>>> my @p = split /\s*\|\s*/, $line;
>>> print $p[0] . "\n";
>>> print $p[1] . "\n";
>>> print $p[2] . "\n";
>>> print $p[3] . "\n";
>>>
>>> Att,
>>> Marcelo Milhomem
>>>
>>> Em 22/10/2013 22:49, Renato Santos escreveu:
>>>
>>> É só usar @p = split /\|/, $texto
>>> On Oct 22, 2013 10:47 PM, "Marcio - Google" <marciorp at gmail.com> wrote:
>>>
>>>> Cron, nada sério. Só procurando informações em arquivos de log ...
>>>> Tentei uns exemplos de regex mais não consegui também. Você sabe de
>>>> kbç?
>>>>
>>>>
>>>> [...]'s
>>>>
>>>> Marcio
>>>>
>>>> ========================================
>>>> ########### Campanha Ajude o Marcio! ###########
>>>> http://sosmarcio.blogspot.com.br/
>>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>>> ========================================
>>>>
>>>>
>>>> Em 22 de outubro de 2013 21:44, Renato Santos <renato.cron at gmail.com>escreveu:
>>>>
>>>>> Regular expressions.. Você precisa escapiar o pipe.
>>>>>
>>>>> Obs: você devia usar o text::csv::xs se isso for sério!
>>>>> On Oct 22, 2013 10:32 PM, "Marcio - Google" <marciorp at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Mestres, desculpem a newbieçe, mas to apanhando do split.
>>>>>>
>>>>>> my $line = "T|blablablabla |blabla | mais blabla bla ";
>>>>>> chomp $line;
>>>>>> my @p = split /|/, $line;
>>>>>> print $p[0] . "\n";
>>>>>> print $p[1] . "\n";
>>>>>> print $p[2] . "\n";
>>>>>> print $p[3] . "\n";
>>>>>>
>>>>>> Minhas colunas são separadas por | e não tem tamanho fixo.
>>>>>>
>>>>>> Não consegui separa-las corretamente.
>>>>>>
>>>>>>
>>>>>>
>>>>>> [...]'s
>>>>>>
>>>>>> Marcio
>>>>>>
>>>>>> ========================================
>>>>>> ########### Campanha Ajude o Marcio! ###########
>>>>>> http://sosmarcio.blogspot.com.br/
>>>>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>>>>> ========================================
>>>>>>
>>>>>>
>>>>>> Em 19 de junho de 2013 12:58, Andre Carneiro <
>>>>>> andregarciacarneiro at gmail.com> escreveu:
>>>>>>
>>>>>>> Valeu Lorn! Esse eu não conhecia!
>>>>>>>
>>>>>>>
>>>>>>> Acho que fiquei mal-acostumado aqui na empresa. Os caras só usam
>>>>>>> coisa que tem suporte e normalmente isso implica em lincenças bem caras.
>>>>>>>
>>>>>>> E no caso do splunk realmente, $30000,00 por 20GB/dia de
>>>>>>> indexação... caro !
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Cheers!
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/6/19 Nuba Princigalli <nuba at fastmail.fm>
>>>>>>>
>>>>>>>> Complementando: nesse espaço, uma alternativa bacana também é o
>>>>>>>> logstash.
>>>>>>>>
>>>>>>>> On Wed, Jun 19, 2013, at 10:08 AM, Lindolfo Lorn Rodrigues wrote:
>>>>>>>>
>>>>>>>> Fala André, blz?
>>>>>>>> O Splunk é bom mesmo, só que muito é caro.
>>>>>>>> Para centralizar logs eu gosto do http://graylog2.org/
>>>>>>>> Open Source e escala muito bem, outro dia a locaweb revelou que
>>>>>>>> eles recebem/tratam 790.000 mensagens / 5min com o Graylog.
>>>>>>>>
>>>>>>>> E como o graylog-server é compativel com o syslog você pode
>>>>>>>> apontar o syslog das maquinas para ele
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/6/19 Andre Carneiro <andregarciacarneiro at gmail.com>
>>>>>>>>
>>>>>>>>
>>>>>>>> virxi... preciso revisar melhor meus e-mails. Mals...
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/6/19 Andre Carneiro <andregarciacarneiro at gmail.com>
>>>>>>>>
>>>>>>>>
>>>>>>>> Márcio, você já ouviu falar sobre o Splunk?
>>>>>>>>
>>>>>>>> http://www.splunk.com/product
>>>>>>>>
>>>>>>>>
>>>>>>>> O pessoal usa aqui usa bastante. Eu só dei uma olhadinha bem
>>>>>>>> superficial. Você pode criar gráficos de monitoração muito facilmente, pode
>>>>>>>> trabalhar com regex para fazer as análises dos logs, tudo simples, fácil e
>>>>>>>> rápido. Obviamente tem uma curvinha de aprendizado para vencer, mas nada
>>>>>>>> comparado à 'monstrinhos' como o Nagios, por exemplo(fãs de Nagios, me
>>>>>>>> desculpem! É a minha opinião!).
>>>>>>>>
>>>>>>>> O Splunk veio, aparentemente, preencher essa 'lacuna'.
>>>>>>>>
>>>>>>>>
>>>>>>>> Realmente bão !
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/6/18 Nilton OS <jniltinho at gmail.com>
>>>>>>>>
>>>>>>>>
>>>>>>>> my $test = '^(... .. ..:..:..) (\S+) \S+ ([a-zA-Z0-9]+):
>>>>>>>> FILTER_LOGX: from=\<(.*?)\> to=\<(.*?)\> subject=\<(.*?)\> size=([0-9]+)
>>>>>>>> hostip=([^ ]*) nrcpt=([0-9]+)';
>>>>>>>>
>>>>>>>>
>>>>>>>> Testa algo assim:
>>>>>>>>
>>>>>>>> Se usar (\S+) ou \S+ vai começar a ter os resultados
>>>>>>>>
>>>>>>>> Dá uma olhada nesse script.
>>>>>>>>
>>>>>>>> http://pastebin.com/2Mnx9FAY
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 18 de junho de 2013 19:33, Eduardo Verissimo <
>>>>>>>> everissimo at gmail.com> escreveu:
>>>>>>>>
>>>>>>>> Que tal?
>>>>>>>>
>>>>>>>> ($codigo) =~ /^.*?\|.*?\|.*?\|(.*?)\|/ if /TIM/;
>>>>>>>>
>>>>>>>> Acho que ainda precisa de um ajuste...
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 18 de junho de 2013 19:02, Nilton OS <jniltinho at gmail.com>escreveu:
>>>>>>>>
>>>>>>>> Dá um split no (|)
>>>>>>>>
>>>>>>>> No meu script tem um regex para pegar isso ou qualquer coisa na
>>>>>>>> linha, mas acho que ninguém ligou para minha resposta.
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 18 de junho de 2013 18:34, Marcio - Google <marciorp at gmail.com>escreveu:
>>>>>>>>
>>>>>>>>
>>>>>>>> Marcio, não.
>>>>>>>>
>>>>>>>> Há duas informações na linha que tem que bater para ela ser
>>>>>>>> selecionada, no exemplo:
>>>>>>>> *|***********************|***** |*D0 C003*| *********************
>>>>>>>> "TIM"*
>>>>>>>>
>>>>>>>>
>>>>>>>> [...]'s
>>>>>>>>
>>>>>>>> Marcio
>>>>>>>>
>>>>>>>> ========================================
>>>>>>>> ########### Campanha Ajude o Marcio! ###########
>>>>>>>> http://sosmarcio.blogspot.com.br/
>>>>>>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>>>>>>> ========================================
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 18 de junho de 2013 16:59, Marcio Ferreira <
>>>>>>>> marciodesouzaferreira at gmail.com> escreveu:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> if ( $line =~ /"TIM"/i ){
>>>>>>>> #faz alguma coisa
>>>>>>>> }
>>>>>>>>
>>>>>>>> não funciona?
>>>>>>>>
>>>>>>>> http://perldoc.perl.org/perlre.html
>>>>>>>> http://sao-paulo.pm.org/artigo/2006/RegexPraticasTecnicasAvancadas
>>>>>>>> http://sao-paulo.pm.org/artigo/2006/ExpressoesRegulares
>>>>>>>>
>>>>>>>>
>>>>>>>> []s,
>>>>>>>>
>>>>>>>> Marcio Ferreira
>>>>>>>>
>>>>>>>> skype: marcio.ferreir4
>>>>>>>> (21) 8365-7768
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/6/18 Marcio - Google <marciorp at gmail.com>
>>>>>>>>
>>>>>>>> Marcio (xará),
>>>>>>>>
>>>>>>>> Vou tentar com esse módulo. Já to ficando traumatizado com regex,
>>>>>>>> faz tempo que apanho, to começando a achar que seja algum tipo de trauma,
>>>>>>>> bloqueio, sei lá o que ... rsrsrs
>>>>>>>>
>>>>>>>> Giuliani,
>>>>>>>>
>>>>>>>> Obrigado pela dica, vou procurar o livro.
>>>>>>>>
>>>>>>>> Tiago,
>>>>>>>>
>>>>>>>> Vou ler a respeito, obrigado.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> [...]'s
>>>>>>>>
>>>>>>>> Marcio
>>>>>>>>
>>>>>>>> ========================================
>>>>>>>> ########### Campanha Ajude o Marcio! ###########
>>>>>>>> http://sosmarcio.blogspot.com.br/
>>>>>>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>>>>>>> ========================================
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 18 de junho de 2013 16:44, Marcio - Google <marciorp at gmail.com>escreveu:
>>>>>>>>
>>>>>>>>
>>>>>>>> Eduardo,
>>>>>>>>
>>>>>>>> O log é isso ai basicamente:
>>>>>>>> T|20/05/2013 08:12:03.391|Modem |D1 C015| RX : OK
>>>>>>>> T|20/05/2013 08:12:04.300|Modem |D0 C003| RX : +CREG:
>>>>>>>> 001,016d,5e13
>>>>>>>> T|20/05/2013 08:12:04.300|Modem |D0 C003| TX : AT+COPS?
>>>>>>>> T|20/05/2013 08:12:04.333|Modem |D0 C003| RX : +COPS:
>>>>>>>> 000,000,"TIM"
>>>>>>>> T|20/05/2013 08:12:04.333|Modem |D0 C003| RX : OK
>>>>>>>> T|20/05/2013 08:12:04.582|Modem |D0 C001| TX : AT+CSQ
>>>>>>>> T|20/05/2013 08:12:04.582|Modem |D0 C002| TX : AT+CSQ
>>>>>>>>
>>>>>>>> Usando esse pedaço como exemplo, preciso localizar linhas assim:
>>>>>>>> *|***********************|***** |D0 C003|
>>>>>>>> ********************"TIM"
>>>>>>>>
>>>>>>>> Entenda o * como qualquer coisa. Depois do quarto | os dados não
>>>>>>>> tem tamanho fixo, então esse "TIM" poderia estar mais pra frente como mais
>>>>>>>> pra trás.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> [...]'s
>>>>>>>>
>>>>>>>> Marcio
>>>>>>>>
>>>>>>>> ========================================
>>>>>>>> ########### Campanha Ajude o Marcio! ###########
>>>>>>>> http://sosmarcio.blogspot.com.br/
>>>>>>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>>>>>>> ========================================
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 17 de junho de 2013 21:25, Eduardo Verissimo <
>>>>>>>> everissimo at gmail.com> escreveu:
>>>>>>>>
>>>>>>>> Márcio, você pode dar um exemplo de qual a string de onde vai
>>>>>>>> tirar a informação e qual informação quer extrair?
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 17 de junho de 2013 19:32, Marcio - Google <marciorp at gmail.com>escreveu:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Valeu pelas dicas e códigos pessoal.
>>>>>>>> Estou usando o File::Tail e parti do código que o Eduardo
>>>>>>>> compartilhou.
>>>>>>>> Só estou apanhando das regex pra encontrar o que quero. Não sei
>>>>>>>> se sou burro, mas tenho uma grande dificuldade de assimilar/entender regex.
>>>>>>>> Vou tentar mais um pouco, se não conseguir jogo a toalha ...
>>>>>>>> rsrsrs
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> ..............................................................................
>>>>>>>> *Com Deus todas as coisas são possíveis* ::: LinuxPro<http://www.linuxpro.com.br>
>>>>>>>>
>>>>>>>> *"A qualidade nunca se obtém por acaso; ela é sempre o resultado
>>>>>>>> do esforço inteligente." (John Ruskin)*
>>>>>>>> *"A mente que se abre a uma nova ideia jamais volta ao seu
>>>>>>>> tamanho original" (Albert Einstein)*
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> ..............................................................................
>>>>>>>> *Com Deus todas as coisas são possíveis* ::: LinuxPro<http://www.linuxpro.com.br>
>>>>>>>>
>>>>>>>> *"A qualidade nunca se obtém por acaso; ela é sempre o resultado
>>>>>>>> do esforço inteligente." (John Ruskin)*
>>>>>>>> *"A mente que se abre a uma nova ideia jamais volta ao seu
>>>>>>>> tamanho original" (Albert Einstein)*
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> André Garcia Carneiro
>>>>>>>> Software Engineer
>>>>>>>> (11)982907780
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> André Garcia Carneiro
>>>>>>>> Software Engineer
>>>>>>>> (11)982907780
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Nuba R. Princigalli nuba at pauleira.com http://pauleira.com@nprincigalli
>>>>>>>> Discipline is not an end in itself, just a means to an end. -
>>>>>>>> King Crimson
>>>>>>>>
>>>>>>>>
>>>>>>>> =begin disclaimer
>>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>> =end disclaimer
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> André Garcia Carneiro
>>>>>>> Software Engineer
>>>>>>> (11)982907780
>>>>>>>
>>>>>>> =begin disclaimer
>>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>> =end disclaimer
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> =begin disclaimer
>>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> =end disclaimer
>>>>>>
>>>>>>
>>>>> =begin disclaimer
>>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> =end disclaimer
>>>>>
>>>>>
>>>>
>>>> =begin disclaimer
>>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>> =end disclaimer
>>>>
>>>>
>>>
>>> =begin disclaimer
>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> <http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>>
>>> =begin disclaimer
>>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20131023/5268ca9d/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list