谢谢你的阅读。
对于 wget 的 shell 命令,类似这样的工作:
wget -q -O - http://www.myweb.com | grep -oe '\w*.\w*@\w*.\w*.\w\+' | sort -u
但是,当我尝试在 Perl 程序中插入该命令时,我收到一个语法错误,指的是“在运算符预期的位置找到反斜杠,在运算符预期的位置找到裸字”。所以我用这个 {} 替换了正则表达式周围的引号,但是,这样做就像将它注释掉一样,它不会带来错误,但就好像正则表达式没有,所以很明显花括号是错误的尝试。
这是代码,它在foreach中:
foreach(@my_array) {
$browser->get($_);
# and here below is where the error comes
system ('wget -q -O -"$_" | grep -oe '\w*.\w*@.\w*.\w\+' | sort -u');
如果我用 {} 替换包裹正则表达式的单引号,那么 wget 会获取 URL,但 grep 命令不起作用。
这就是问题所在,如何解决使语法烦人的引号