Rob Dixon wrote: > Mathew Snyder wrote: >> Mathew Snyder wrote: >>> I can't seem to get this working. Every time I try to run it >>> segfaults on me. >>> I've removed it from my code and reverted to the stage I was at >>> before I added >>> it and my script worked exactly as it did before I put it in. I've >>> installed it >>> via both cpan and yum. I've tried running it on a SuSE box and two >>> Fedora Core >>> 5 boxes. I get the same result both times. >>> >>> Does anyone know if this is a buggy module? Version is 1.883-1 >>> >>> Mathew >>> >> >> I looked over the doc for this module. It looks like the parse() method >> requires one argument which is a list of email addresses to look for. >> The way I >> have it set up I think I may be passing the source of an entire web >> page to it. > > OK it seems to dislike newlines in the content it's parsing. Make sure this > works for you and, if so, you can apply the same fix to your own data. > In the > meantime I shall make some time to find the problem in the module (it > just hangs > on my machine). > > Rob > > > use strict; > use warnings; > > use LWP::Simple; > use Email::Address; > > my $data = get > 'http://search.cpan.org/~rjbs/Email-Address-1.884/lib/Email/Address.pm'; > $data =~ s/\s+/ /g; > > my @addrs = Email::Address->parse($data); > > print $_->address, "\n" foreach @addrs; > >
This is the meat of what I have. It looks like it should work exactly as you have only a bit more explicitly. All it does is return me to the prompt. I know there should be at least 100 emails in the text I'm parsing. In fact, I've figured out how to do this with HTML::TokeParser and am getting several hits. I just need to figure out how to eliminate things I don't want. my $agent = WWW::Mechanize->new(); $agent->get('https://rt.ops.servervault.com/'); $agent->submit_form( form_name => 'login', fields => { 'user' => $user, 'pass' => $pass, } ); $agent->follow_link(text => "Tickets"); $agent->submit_form( form_name => 'BuildQuery', fields => { 'ValueOfStatus' => $status, 'ValueOfActor' => $user, 'ValueOfQueue' => $queue, }, button => 'DoSearch' ); $agent =~ s/\s+/ /g; my @emails = Email::Address->parse($agent); foreach my $email (@emails){ print $email; }; This is an example of the text I'm parsing: <tr class="oddline" ><td class="collection-as-table" > <b><a href="/Ticket/Display.html?id=52549">52549</a></b></td><td class="collection-as-table" ><b><a href="/Ticket/Display.html?id=52549">***POSSIBLE SPAM*** Of fight a implicit</a></b></td><td class="collection-as-table" >open</td><td class="collection-as-table" >Security</td><td class="collection-as-table" >msnyder</td><td class="collection-as-table" >62</td></tr><tr class="oddline" ><td class="collection-as-table" ></td><td class="collection-as-table" ><small>[EMAIL PROTECTED]</small></td><td class="collection-as-table" ><small>13 hours ago</small></td><td class="collection-as-table" ><small></small></td><td class="collection-as-table" ><small>13 hours ago</small></td><td class="collection-as-table" ><small>0</small></td></tr> Mathew -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>