Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
基本上我试图用从对象的函数调用返回的任何内容替换。但我需要正则表达式搜索的返回值作为参数。这有点棘手,但代码应该不言自明:
while ( $token =~ s/\$P\(([a-z0-9A-Z_]+)\)/$db->getValue("params", qw($1))/e ) { }
我得到的错误是 $1 没有被评估为任何东西(参数实际上变成了“$1”),所以它搞砸了我的 getValue() 方法。
干杯
函数引用“qw()单词”。即它在所有空白字符处拆分一个字符串并返回该列表。它不插值。
qw()
您可以“按原样”使用变量:
s/\$P\(([a-z0-9A-Z_]+)\)/$db->getValue("params", $1)/e
qw()功能很不一样
q(abc)
'abc'
qq(abc)
"abc"
qx(abc)
`abc`
qr(abc)
m/abc/
qw(a b c)<=>('a', 'b', 'c')
qw(a b c)
('a', 'b', 'c')