読んでくれてありがとう。
wgetのシェルコマンドの場合、次のように機能します。
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コマンドは機能しません。
これが問題です。構文を煩わせる引用符を解決する方法