The code fragment shown has a number of problems. First, the string used to initialise $text contains the “@” symbol, which triggers interpolation within double quotes. This needs to be escaped, or else change to single quotes.
Second, the replacement part of a substitution cannot contain assertions such as \w+. Third, as davido says, the regex will fail to match because it requires a whitespace character (\s) before the first capture, but the given string does not contain any whitespace in that position.
Try this as a start:
#! perl use strict; use warnings; my $text = 'pilar@delphoss.com type add (#090930-230011-907000 ur22122 +021 pi'; $text =~ /(\w+)@(\w+)\.com/; print "$1\@$2\n";
Output:
12:59 >perl 724_SoPW.pl pilar@delphoss 13:06 >
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In reply to Re: Regex being stupid
by Athanasius
in thread Regex being stupid
by AI Cowboy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |