Re: perl script code

2004-06-18 Thread Bill Campbell
On Fri, Jun 18, 2004, JJB wrote:
>I have this
>
>
>  #("Scan line for word abuse,");
>
>  if ((/([EMAIL PROTECTED])\s/) || (/([EMAIL PROTECTED])\s/))
>  {
>   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]"") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]"") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if ((${1} =~ /[EMAIL PROTECTED]/i) || (${1} =~ /[EMAIL PROTECTED]/i))
>   {
>next;
>   }
>   else
>   {
>$abuse_email = ${1};
>debug("abuse_email body = $abuse_email\n");
>   }
>  }
>
>How can I rewrite the
>   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]"") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>   if (${1} eq "[EMAIL PROTECTED]"") { $abuse_email =
>"[EMAIL PROTECTED]"; next; }
>
>part so I can check the last position of what ever is found for > \
>/ ) } ] and delete those unwanted characters from value that gets
>loaded into $abuse_email???

This type of thing is generally better handled using a hash for
the test, something like:

# This just loads 1 into the hash for each address.  One might
# want to generalize by mapping to the real abuse address.
my %addrmap = map { $_, 1 } qw(
[EMAIL PROTECTED] 
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
);

# $1 will be all no-whitespace after the ``@''
if(/abuse\@(\S+) && $addrmap{$1) {
($abuse_email = $1) =~ s/>*$//; # strip trailing '>'(s)
}
...

Bill
--
INTERNET:   [EMAIL PROTECTED]  Bill Campbell; Celestial Software LLC
UUCP:   camco!bill  PO Box 820; 6641 E. Mercer Way
FAX:(206) 232-9186  Mercer Island, WA 98040-0820; (206) 236-1676
URL: http://www.celestial.com/

``Virtually everything is under federal control nowadays except the
federal budget.''
-- Herman E. Talmadge, 1975
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


perl script code

2004-06-18 Thread JJB
I have this


  #("Scan line for word abuse,");

  if ((/([EMAIL PROTECTED])\s/) || (/([EMAIL PROTECTED])\s/))
  {
   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]"") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]"") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if ((${1} =~ /[EMAIL PROTECTED]/i) || (${1} =~ /[EMAIL PROTECTED]/i))
   {
next;
   }
   else
   {
$abuse_email = ${1};
debug("abuse_email body = $abuse_email\n");
   }
  }

How can I rewrite the
   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]>") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]"") { $abuse_email =
"[EMAIL PROTECTED]"; next; }
   if (${1} eq "[EMAIL PROTECTED]"") { $abuse_email =
"[EMAIL PROTECTED]"; next; }

part so I can check the last position of what ever is found for > \
/ ) } ] and delete those unwanted characters from value that gets
loaded into $abuse_email???


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"