Emazep, it was just an example; Diotalevi and I were talking about a situation in which the assignment is practical for some reason (like if you're calling m//g in scalar context), not one where you can get away with sticking m// in a conditional by itself. (Who on earth would store away the result unless they needed for something later on, anyway?)
My point was that if you have an assignment like "$var = /pattern/", then name the variables and use the binding operator explicitly so it's completely unambiguous: "$pos = $string =~ /pattern/g".
In real life I would have written that validity checking code like this:
foreach my $address (@email_addresses) {
return unless ($address =~ /[a-zA-Z0-0.]+\@[a-zA-Z0-0.]+/);
# proceed normally...