<br clear="all">Just another Perl Hacker,<br>Fernando (SmokeMachine)<br><a href="http://perl-e.org">http://perl-e.org</a><br>Sent from Sao Paulo, SP, Brazil<br>
<br><br><div class="gmail_quote">2009/12/4 Marcio Mello <span dir="ltr"><<a href="mailto:marcio@modapoint.com.br">marcio@modapoint.com.br</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Daniel,<br>
Testei como está abaixo:<div class="im"><br>
<br>
my $response = $userAgent->request($request);<br>
#<br>
# Parseando o resultado (XML) do servidor<br>
#<br></div>
my $xml = XML::Simple->new();<br>
my $itens = $xml->XMLin($response->content);<br>
<br>
if($response->code == 200) {<div class="im"><br>
foreach my $want (@{ $itens->{'userTransactions'} }) {<br>
print $want->{'startTime'} . "\n";<br>
}<br></div>
print Dumper(itens); # <-------<br><div class="im"><br>
} else {<br>
print $response->error_as_HTML;<br>
};<br>
<br></div>
A resposta foi apenas:<br>
$VAR1 = bless( {<br>
'def_opt' => {},<br>
'opt' => {<br>
'normalisespace' => 0,<br>
'rootname' => 'opt',<br>
'parseropts' => [],<br>
'keyattr' => [<br>
'name',<br>
'key',<br>
'id'<br>
],<br>
'forcearray' => 0,<br>
'contentkey' => 'content',<br>
'searchpath' => []<br>
}<br>
}, 'XML::Simple' );<br>
<br>
Não entendi ...<br>
Marcio.<div class="im"><br>
----- Original Message ----- From: "Daniel de Oliveira Mantovani" <<a href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">daniel.oliveira.mantovani@gmail.com</a>><br>
To: <<a href="mailto:saopaulo-pm@mail.pm.org" target="_blank">saopaulo-pm@mail.pm.org</a>><br></div>
Sent: Friday, December 04, 2009 3:29 PM<div><div></div><div class="h5"><br>
Subject: Re: [SP-pm] XML::Simple<br>
<br>
<br>
Ops esqueci do my:<br>
*my $itens = $xml->XMLin($content);*<br>
<br>
2009/12/4 Daniel de Oliveira Mantovani <<a href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">daniel.oliveira.mantovani@gmail.com</a>>:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
my $xml = XML::Simple->new();<br>
$itens = $xml->XMLin($content);<br>
<br>
foreach my $want (@{ $itens->{'userTransactions'} }) {<br>
print $want->{'startTime'} . "\n";<br>
....<br>
}<br>
<br>
Eu não testei o código.<br>
<br>
2009/12/4 Marcio Mello <<a href="mailto:marcio@modapoint.com.br" target="_blank">marcio@modapoint.com.br</a>>:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Daniel,<br>
Já olhei manuais e exemplos e ainda parece grego prá mim..<br>
Aqui está o XML... veja se tem alguma sugestão.. obrigado.<br>
O que preciso é startTime, ANI, DestinationNumber, transactionDescription,<br>
Time a Cost para montar um relatório em uma tabela.<br>
<br>
$VAR1 = {<br>
'xmlns:xsi' => '<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>',<br>
'soap:Body' => {<br>
'getUserTransactionsResponse' => {<br>
'xmlns' => 'vscws',<br>
<br>
'getUserTransactionsResult' => {<br>
<br>
'VSC' => {<br>
<br>
'xmlns' => '',<br>
<br>
'userTransactions' => [<br>
<br>
{<br>
<br>
'Time' => '1:00',<br>
<br>
'Limit' => '5',<br>
<br>
'DNIS' => '56012',<br>
<br>
'destinationDescription' =><br>
"Brasil - S\x{e3}o Paulo - \x{c1}rea 11 - Celular",<br>
<br>
'Income' => '0.0000',<br>
<br>
'controlNumber' => '2414568',<br>
<br>
'ANI' => '1145822125',<br>
<br>
'DestinationNumber' =><br>
'551199117099',<br>
<br>
'Balance' => '-44.024',<br>
<br>
'startTime' => '2009-11-27<br>
17:28:45',<br>
<br>
'Cost' => '0.89',<br>
<br>
'transactionDescription' =><br>
'Termination',<br>
<br>
'billing' => 'Limited',<br>
<br>
'RealTime' => '0:22'<br>
<br>
},<br>
<br>
{<br>
<br>
'Time' => '1:00',<br>
<br>
'Limit' => '5',<br>
<br>
'DNIS' => '56012',<br>
<br>
'destinationDescription' =><br>
'Brasil - Roc',<br>
<br>
'Income' => '0.0000',<br>
<br>
'controlNumber' => '2414568',<br>
<br>
'ANI' => '1145822125',<br>
<br>
'DestinationNumber' =><br>
'551145215888',<br>
<br>
'Balance' => '-44.314',<br>
<br>
'startTime' => '2009-11-27<br>
17:25:45',<br>
<br>
'Cost' => '0.29',<br>
<br>
'transactionDescription' =><br>
'Termination',<br>
<br>
'billing' => 'Limited',<br>
<br>
'RealTime' => '0:19'<br>
<br>
},<br>
<br>
............. etc ....<br>
<br>
Marcio Mello.<br>
<br>
----- Original Message ----- From: "Daniel de Oliveira Mantovani"<br>
<<a href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">daniel.oliveira.mantovani@gmail.com</a>><br>
To: <<a href="mailto:saopaulo-pm@mail.pm.org" target="_blank">saopaulo-pm@mail.pm.org</a>><br>
Sent: Friday, December 04, 2009 2:38 PM<br>
Subject: Re: [SP-pm] XML::Simple<br>
<br>
<br>
Só para esclarecer, você tem de retorno um XML, você precisa de<br>
algumas informações desse XML mas não consegue pois está com dúvida de<br>
como usar o XML::Simple, certo ?<br>
<br>
Se for esse o seu problema, o manual explica direitinho. Olha só um trecho<br>
dele:<br>
<manual><br>
For example, this XML:<br>
<br>
<opt><br>
<user login="grep" fullname="Gary R Epstein" /><br>
<user login="stty" fullname="Simon T Tyson" /><br>
</opt><br>
<br>
would, by default, parse to this:<br>
<br>
{<br>
'user' => [<br>
{<br>
'login' => 'grep',<br>
'fullname' => 'Gary R Epstein'<br>
},<br>
{<br>
'login' => 'stty',<br>
'fullname' => 'Simon T Tyson'<br>
}<br>
]<br>
}<br>
</manual><br>
<br>
<br>
<a href="http://search.cpan.org/%7Egrantm/XML-Simple-2.18/lib/XML/Simple.pm" target="_blank">http://search.cpan.org/~grantm/XML-Simple-2.18/lib/XML/Simple.pm</a><br>
<br>
Mesmo assim se você não conseguir fazer o parser, cola o XML aqui que<br>
nós te ajudamos.<br>
<br>
[]'s<br>
<br>
2009/12/4 Marcio Mello <<a href="mailto:marcio@modapoint.com.br" target="_blank">marcio@modapoint.com.br</a>>:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
A resposta contém:<br>
startTime, ANI, DestinationNumber, destinationDescription, Time e Cost<br>
.<br>
Existem outros dados mas não são importantes.<br>
<br>
São várias linhas com estes dados e preciso mostrar em uma tabela, que no<br>
código tentei colocar em $tabelaprint .<br>
<br>
Marcio Mello.<br>
<br>
----- Original Message ----- From: "Daniel de Oliveira Mantovani"<br>
<<a href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">daniel.oliveira.mantovani@gmail.com</a>><br>
To: <<a href="mailto:saopaulo-pm@mail.pm.org" target="_blank">saopaulo-pm@mail.pm.org</a>><br>
Sent: Friday, December 04, 2009 1:54 PM<br>
Subject: Re: [SP-pm] XML::Simple<br>
<br>
<br>
Explica o que você quer fazer, não o que você está tentando fazer com o<br>
código.<br>
<br>
2009/12/4 Lindolfo "Lorn" Rodrigues <<a href="http://lorn.br" target="_blank">lorn.br</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>>:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
You are doing it wrong.<br>
Não é porque SOAP retorna um XML que você tem que "parsear" a resposta<br>
dele<br>
com o XML::Simple :P<br>
Dê uma olhada no<br>
<a href="http://search.cpan.org/%7Eberle/SOAP-Simple-0.00_03/lib/SOAP/Simple.pm" target="_blank">http://search.cpan.org/~berle/SOAP-Simple-0.00_03/lib/SOAP/Simple.pm</a> se<br>
não<br>
funcionar, vai ter que usar<br>
<a href="http://search.cpan.org/%7Emkutter/SOAP-Lite-0.710.10/lib/SOAP/Lite.pm" target="_blank">http://search.cpan.org/~mkutter/SOAP-Lite-0.710.10/lib/SOAP/Lite.pm</a> o<br>
SOAP::Lite tem uma pasta 'example' junto com o fonte que ajuda bastante<br>
<br>
2009/12/4 Marcio Mello <<a href="mailto:marcio@modapoint.com.br" target="_blank">marcio@modapoint.com.br</a>><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Olá à todos,<br>
Não conheço bem o módulo XML::Simple e não sei como traduzir os dados<br>
corretamente.<br>
Se alguém puder ajudar, fico grato..<br>
<br>
A resposta que recebo do servidor está aqui e o código está abaixo:<br>
<br>
===========================================================<br>
$VAR1 = { 'xmlns:xsi' => '<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>',<br>
'soap:Body' => { 'getUserTransactionsResponse' => { 'xmlns' => 'vscws',<br>
'getUserTransactionsResult' => { 'VSC' => { 'xmlns' => '',<br>
'userTransactions' => [ { 'Time' => '1:00', 'Limit' => '5', 'DNIS' =><br>
'56012', 'destinationDescription' => "Brasil - S\x{e3}o Paulo -<br>
\x{c1}rea<br>
11<br>
- Celular", 'Income' => '0.0000', 'controlNumber' => '2414568', 'ANI' =><br>
'1145822125', 'DestinationNumber' => '551199117099', 'Balance' =><br>
'-44.024',<br>
'startTime' => '2009-11-27 17:28:45', 'Cost' => '0.89',<br>
'transactionDescription' => 'Termination', 'billing' => 'Limited',<br>
'RealTime' => '0:22' }, { 'Time' => '1:00', 'Limit' => '5', 'DNIS' =><br>
'56012', 'destinationDescription' => 'Brasil - Roc', 'Income' =><br>
'0.0000',<br>
'controlNumber' => '2414568', 'ANI' => '1145822125', 'DestinationNumber'<br>
=><br>
'551145215888', 'Balance' => '-44.314', 'startTime' => '2009-11-27<br>
17:25:45', 'Cost' => '0.29', 'transactionDescription' => 'Termination',<br>
'billing' => 'Limited', 'RealTime' => '0:19' }, { 'Time' => '1:00',<br>
'Limit'<br>
=> '5', 'DNIS' => '56012', 'destinationDescription' => 'Brasil - Roc',<br>
'Income' => '0.0000', 'controlNumber' => '2414568', 'ANI' =><br>
'1145822125',<br>
'DestinationNumber' => '551145215888', 'Balance' => '-44.604',<br>
'startTime'<br>
=> '2009-11-27 17:16:30', 'Cost' => '0.29', 'transactionDescription' =><br>
'Termination', 'billing' => 'Limited', 'RealTime' => '0:24' }, { 'Time'<br>
=><br>
'1:00', 'Limit' => '5', 'DNIS' => '56012', 'destinationDescription' =><br>
'Brasil -', 'Income' => '0.0000', 'controlNumber' => '2414568', 'ANI' =><br>
'1145822125', 'DestinationNumber' => '551164545504', 'Balance' =><br>
'-45.494',<br>
'startTime' => '2009-11-27 17:06:44', 'Cost' => '0.89',<br>
'transactionDescription' => 'Termination', 'billing' => 'Limited',<br>
'RealTime' => '0:12' }, { 'Time' => '1:48', 'Limit' => '5', 'DNIS' =><br>
'56012', 'destinationDescription' => 'Brasil - Roc', 'Income' =><br>
'0.0000',<br>
'controlNumber' => '2414568', 'ANI' => '1130337016', 'DestinationNumber'<br>
=><br>
'551130337005', 'Balance' => '-46.016', 'startTime' => '2009-11-27<br>
12:19:22', 'Cost' => '0.522', 'transactionDescription' => 'Termination',<br>
'billing' => 'Limited', 'RealTime' => '1:43' }, { 'Time' => '1:00',<br>
'Limit'<br>
=> '5', 'DNIS' => '56012', 'destinationDescription' => "Brasil -<br>
S\x{e3}o<br>
Paulo - \x{c1}rea 11 - Celular", 'Income' => '0.0000', 'controlNumber'<br>
=><br>
'2414568', 'ANI' => '1130337016', 'DestinationNumber' => '551199117099',<br>
'Balance' => '-46.906', 'startTime' => '2009-11-27 12:20:28', 'Cost' =><br>
'0.89', 'transactionDescription' => 'Termination', 'billing' =><br>
'Limited',<br>
'RealTime' => '0:13' }, { 'Time' => '1:00', 'Limit' => '5', 'DNIS' =><br>
'56012', 'destinationDescription' => "Brasil - S\x{e3}o Paulo -<br>
\x{c1}rea<br>
11<br>
- Celular", 'Income' => '0.0000', 'controlNumber' => '2414568', 'ANI' =><br>
'1130337016', 'DestinationNumber' => '551199117099', 'Balance' =><br>
'-47.796',<br>
'startTime' => '2009-11-27 12:07:35', 'Cost' => '0.89',<br>
'transactionDescription' => 'Termination', 'billing' => 'Limited',<br>
'RealTime' => '0:20' }, { 'Time' => '1:00', 'Limit' => '5', 'DNIS' =><br>
'56012', 'destinationDescription' => 'Brasil - Roc', 'Income' =><br>
'0.0000',<br>
'controlNumber' => '2414568', 'ANI' => '1130337016', 'DestinationNumber'<br>
=><br>
'551130337005', 'Balance' => '-48.086', 'startTime' => '2009-11-27<br>
12:06:08', 'Cost' => '0.29', 'transactionDescription' => 'Termination',<br>
'billing' => 'Limited', 'RealTime' => '0:21' }, { 'Time' => '0:00',<br>
'Limit'<br>
=> '5', 'DNIS' => {}, 'destinationDescription' => {}, 'Income' => '50',<br>
'controlNumber' => '2414568', 'ANI' => {}, 'DestinationNumber' => {},<br>
'Balance' => '1.914', 'startTime' => '2009-11-26 18:05:36', 'Cost' =><br>
'0.0000', 'transactionDescription' => 'Payment', 'billing' => 'Limited',<br>
'RealTime' => '0:00' }, { 'Time' => '1:00', 'Limit' => '5', 'DNIS' =><br>
'30338031', 'destinationDescription' => 'Brasil - Roc', 'Income' =><br>
'0.0000', 'controlNumber' => '2414568', 'ANI' => '1145822125',<br>
'DestinationNumber' => '551145215888', 'Balance' => '1.624', 'startTime'<br>
=><br>
'2009-11-25 18:11:25', 'Cost' => '0.29', 'transactionDescription' =><br>
'Termination', 'billing' => 'Limited', 'RealTime' => '0:47' }, { 'Time'<br>
=><br>
'1:00', 'Limit' => '5', 'DNIS' => '56012', 'destinationDescription' =><br>
'Brasil - Roc', 'Income' => '0.0000', 'controlNumber' => '2414568',<br>
'ANI'<br>
=><br>
'1145822125', 'DestinationNumber' => '551155478001', 'Balance' =><br>
'1.334',<br>
'startTime' => '2009-11-25 11:55:47', 'Cost' => '0.29',<br>
'transactionDescription' => 'Termination', 'billing' => 'Limited',<br>
'RealTime' => '0:09' }, { 'Time' => '1:00', 'Limit' => '5', 'DNIS' =><br>
'56012', 'destinationDescription' => 'Brasil - Roc', 'Income' =><br>
'0.0000',<br>
'controlNumber' => '2414568', 'ANI' => '1145822125', 'DestinationNumber'<br>
=><br>
'551140040435', 'Balance' => '1.044', 'startTime' => '2009-11-25<br>
11:48:00',<br>
'Cost' => '0.29', 'transactionDescription' => 'Termination', 'billing'<br>
=><br>
'Limited', 'RealTime' => '0:07' }, { 'Time' => '1:36', 'Limit' => '5',<br>
'DNIS' => '56012', 'destinationDescription' => 'Brasil - Roc', 'Income'<br>
=><br>
'0.0000', 'controlNumber' => '2414568', 'ANI' => '1145822125',<br>
'DestinationNumber' => '551140040435', 'Balance' => '0.58', 'startTime'<br>
=><br>
'2009-11-25 11:09:02', 'Cost' => '0.464', 'transactionDescription' =><br>
'Termination', 'billing' => 'Limited', 'RealTime' => '1:31' }, { 'Time'<br>
=><br>
'1:00', 'Limit' => '5', 'DNIS' => '56012', 'destinationDescription' =><br>
'Brasil - Roc', 'Income' => '0.0000', 'controlNumber' => '2414568',<br>
'ANI'<br>
=><br>
'1145822125', 'DestinationNumber' => '551138330767', 'Balance' =><br>
'0.29',<br>
'startTime' => '2009-11-25 10:11:35', 'Cost' => '0.29',<br>
'transactionDescription' => 'Termination', 'billing' => 'Limited',<br>
'RealTime' => '0:47' }, { 'Time' => '1:00', 'Limit' => '5', 'DNIS' =><br>
'56012', 'destinationDescription' => 'Brasil - Roc', 'Income' =><br>
'0.0000',<br>
'controlNumber' => '2414568', 'ANI' => '1145822125', 'DestinationNumber'<br>
=><br>
'551138330767', 'Balance' => '0.0000', 'startTime' => '2009-11-25<br>
09:50:25',<br>
'Cost' => '0.29', 'transactionDescription' => 'Termination', 'billing'<br>
=><br>
'Limited', 'RealTime' => '0:52' } ], 'Val' => { 'UserID' => '2414568' },<br>
'STATUS' => '0' } } } }, 'xmlns:xsd' =><br>
'<a href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a>',<br>
'xmlns:soap' => '<a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a>' };<br>
=====================================================================<br>
<br>
use LWP::UserAgent;<br>
use HTTP::Request;<br>
use XML::Simple;<br>
use Data::Dumper;<br>
<br>
my $message = '<?xml version="1.0" encoding="utf-8"?><br>
<soap:Envelope xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>"<br>
xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a>"<br>
xmlns:soap="<a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a>"><br>
<soap:Header><br>
<AuthHeader xmlns="vscws"><br>
<distriID>XXXX</distriID><br>
<password>XXXXXX</password><br>
</AuthHeader><br>
</soap:Header><br>
<soap:Body><br>
<getUserTransactions xmlns="vscws"><br>
<controlNumber>XXXXXX</controlNumber><br>
<transactionType></transactionType><br>
<dateFrom>2009-11-10</dateFrom><br>
<dateTo>2009-11-30</dateTo><br>
</getUserTransactions><br>
</soap:Body><br>
</soap:Envelope>';<br>
<br>
my $length = length($message);<br>
<br>
my $userAgent = LWP::UserAgent->new();<br>
my $request = HTTP::Request->new(POST =><br>
'<a href="http://200.XXX.XXX.XX:90/ws.asmx%27" target="_blank">http://200.XXX.XXX.XX:90/ws.asmx'</a>);<br>
$request->header(SOAPAction => '"vscws/getUserTransactions"');<br>
$request->content_type("text/xml; charset=utf-8");<br>
$request->content_length($length);<br>
$request->content($message);<br>
<br>
my $response = $userAgent->request($request);<br>
<br>
#<br>
# Parseando o resultado (XML) do servidor<br>
#<br>
my $ref = XMLin( $response->content ) or die $!;<br>
my $xml = XMLout( my $hashref );<br>
<br>
for ( my $i = $#{ $ref->{getUserTransactions} }; $i > 0; $i-- ) {<br>
<br>
$startdate = "${ $ref->{getUserTransactions} }[$i]->{startTime}";<br>
$origem = "${ $ref->{getUserTransactions} }[$i]->{ANI}";<br>
$destino = "${ $ref->{getUserTransactions}<br>
}[$i]->{DestinationNumber}";<br>
$descrip = "${ $ref->{getUserTransactions}<br>
}[$i]->{destinationDescription}";<br>
$duration = "${ $ref->{getUserTransactions} }[$i]->{Time}";<br>
$cost = "${ $ref->{getUserTransactions} }[$i]->{Cost}";<br>
<br>
$tabelaprint .= "<br>
<tr><br>
<td><p align=\"center\"><font face=\"Arial\"<br>
size=\"1\"><b>$startdate</b></font></td><br>
<td><p align=\"center\"><font face=\"Arial\"<br>
size=\"1\">$origem</font></td><br>
<td><p align=\"center\"><font face=\"Arial\"<br>
size=\"1\"><b>$destino</b></font></td><br>
<td><p align=\"center\"><font face=\"Arial\"<br>
size=\"1\"><b>$descrip</b></font></td><br>
<td><p align=\"center\"><font face=\"Arial\"<br>
size=\"1\">$duration</font></td><br>
<td><p align=\"center\"><font face=\"Arial\"<br>
size=\"1\">$cost</font></td><br>
</tr><br>
";<br>
}<br>
<br>
if($response->code == 200) {<br>
print "$tabelaprint";<br>
}<br>
else {<br>
print $response->error_as_HTML;<br>
};<br>
Obrigado.<br>
Marcio Mello.<br>
<a href="mailto:marcio@modapoint.com.br" target="_blank">marcio@modapoint.com.br</a><br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</blockquote>
<br>
<br>
<br>
--<br>
lorn at lornlab dot org<br>
Lindolfo "Lorn" Rodrigues<br>
<br>
<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
</blockquote>
<br>
<br>
<br>
--<br>
Existe dois tipos de pessoas, as que reclamam a vida inteira do que<br>
fazem, e as que fazem o que nasceram para fazer.<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
</blockquote>
<br>
<br>
<br>
--<br>
Existe dois tipos de pessoas, as que reclamam a vida inteira do que<br>
fazem, e as que fazem o que nasceram para fazer.<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
</blockquote>
<br>
<br>
<br>
--<br>
Existe dois tipos de pessoas, as que reclamam a vida inteira do que<br>
fazem, e as que fazem o que nasceram para fazer.<br>
<br>
</blockquote>
<br>
<br>
<br>
-- <br>
Existe dois tipos de pessoas, as que reclamam a vida inteira do que<br>
fazem, e as que fazem o que nasceram para fazer.<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</div></div></blockquote></div><br>