#!/usr/bin/perl @tests = ('fred','fred @ aol', 'fred@aol', 'fred@aol.com', '@', '@foo', 'kira@secure.webtemplates.com','kqy.bar', 'foo.bar@stealth1.cc.af.mil', ';1jg4!!$@58$*%.com', 'rm -rf fnord', 'temp@moo-net.com', 'mark.cogan@xiao.zedcor.com', '7987.64717@compuserve.com', 'foo@ozemail.com.au'); @valids = (); foreach $i (@tests) { print "i=$i\n"; if ($i =~ /.*\@.*/) { print "...matches pat1\n"; } if ($i =~ /\S+\@\S+/) { print "...matches pat2\n"; } if ($i =~ /\S+\@\S+\.\S+/) { print "...matches pat3\n"; } # if ($i =~ /\w+\@\w+\.\w+/) { if ($i =~ /[\w\-]+\@[\w\-]+\.[\w\-]+/) { print "...matches pat4\n"; push(@valids,$i); } } print "\nThese were the only valid email addresses:\n"; foreach $i (@valids) { print "$i\n"; }