再一次,我又被困了一整天。
我需要使用包含无法在电子邮件地址中显示的禁止字词的单词或var数组。
或者:
$baddies = 'smtp mailer sysop';
或
@baddies = qw(smtp mailer sysop);
或
@baddies = qw/smtp mailer sysop/;
阵列中还有更多不好的词,大约有二十几个。
我没有运行最新版本的perl所以~~等不支持。
我正在进行循环,将乐队的时间表发送出去。
在该循环中,我需要检查电子邮件是否包含任何这些单词。 我意识到可能会有一些包含匹配的好电子邮件,但这很好。
在我放弃试图找出它之后,我已经尝试了几十个例子。
最新消息:
####FYI## $uaddress is from the foreach $uaddress(@addresses){ loop.
my %params = map { $uaddress => 1 } @baddies;
if(exists($params{$uaddress})) {
print "yep, it's there"; #for testing
push(@failed,"$uaddress is restricted<br />");
但是,我尝试的一切都没有做到我需要的。
我甚至试过=〜等等。
我现在真的感到愚蠢..
我在这里需要另一个教训...提前致谢。
更新:我也尝试过:
$baddies = 'smtp mailer sysop';
my @baddies = split / /, $baddies;
# iterate through the array
foreach (@baddies) {
if($_ =~ $uaddress) #I also reversed that {
print qq~$uaddress contains $_~;
}
}
答案 0 :(得分:0)
通过试验,错误和愚蠢的运气,我偶然得到以下工作:
foreach $uaddress(@addressList) {
$uaddress =~ s/\s//g;
@baddies = qw(smtp mailer sysop);
my @failed;
foreach (@baddies) {
if($uaddress =~ m/$_/i) {
push(@failed,"$uaddress is restricted because it found \"$_\" in the address<br />");
}
}
##stuff happens with emails that passed like Email::Verify
}