It is supposed to catch an email address ending with "myinfo.com". However, it will also catch horrible things like "....@myinfozcom" (the dot matches everything except a newline!)
perl -MYAPE::Regex::Explain -e 'print YAPE::Regex::Explain->new(qr/^[
+\w.-]+\@myinfo.com/)->explain'
The regular expression:
(?-imsx:^[\w.-]+\@myinfo.com)
matches as follows:
NODE EXPLANATION
----------------------------------------------------------------------
(?-imsx: group, but do not capture (case-sensitive)
(with ^ and $ matching normally) (with . not
matching \n) (matching whitespace and #
normally):
----------------------------------------------------------------------
^ the beginning of the string
----------------------------------------------------------------------
[\w.-]+ any character of: word characters (a-z, A-
Z, 0-9, _), '.', '-' (1 or more times
(matching the most amount possible))
----------------------------------------------------------------------
\@ '@'
----------------------------------------------------------------------
myinfo 'myinfo'
----------------------------------------------------------------------
. any character except \n
----------------------------------------------------------------------
com 'com'
----------------------------------------------------------------------
) end of grouping
----------------------------------------------------------------------
If you need to validate an email address, you are better off with Email::Valid.