Chad Eldridge wrote:
>
Mathew wrote:
>>
Adriano Ferreira wrote:
>>>
On 2/2/07, Mathew Snyder <[EMAIL PROTECTED]> wrote:
>>>>
I have a script which extracts email addresses from a web page, pushes
them into an array and then prints them out before asking if I wish to
perform the work on them that is required.
What I would like to do is compare the username portion of the email
address to a list of usernames in a hash to determine if the email
address should be skipped. I just don't know how to write out the regex
for that. The line I have so far is
>>>>
push @emails, $email if $email =~ m/[EMAIL PROTECTED]/gmx unless ($email =~ m/^
I don't know how to further this to accomplish what I need. Can
someone please
help.
>>>
Be lazy. Use Email::Address to take care of the parsing of the e-mail
addresses and many subtleties in the specification you even didn't
want to know about.
use Email::Address;
my $addr = Email::Address->new(undef, '[EMAIL PROTECTED]');
my $user = $addr->user; # this is "casey"
>>
>> I'm hesitant to bring another module into this. I don't want to make it
>> any more complicated than it needs to be.
>
> I usually try and use as few modules as possible as well, especially for
> simple tasks.
Why?
> I would suggest something like this maybe...
>
> Assuming %Skip is your hash of users to skip over...
>
> my ($user) = ($email =~ /[EMAIL PROTECTED]/);
That will put either 1 or undef into $user, depending on whether the contents of
$email match the regex. I assume you meant
my ($user) = ($email =~ /(.+?)[EMAIL PROTECTED]/);
which would put the part of the email up to the 'at' sign into $user. But
there's no need to match anything after the at, so you could write
my ($user) = ($email =~ /(.+?)\@/);
or just
my ($user) = $email =~ /([EMAIL PROTECTED])/;
> unless ($Skip{$user}) {
> push(@emails,$email);
> }
But using Email::Address would have got it right in the first place, and I still
can't see what the disadvantage is.
HTH,
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/