如何将变量与Perl正则表达式的其余部分分开?

cbr*_*lak 1 regex perl

我有一个正则表达式,其中变量$m_strFirstName旁边是不属于变量名称的其他标识符字符:

if($strWholeName =~ m/$m_strFirstName_(+)/) 
....
Run Code Online (Sandbox Code Playgroud)

我试图提取类似的东西:

  • strWholeName是'bob_jones'或'bob_smith'
  • m_strFirstName是'bob'
  • 我想要字符串中的'smith'或'jones'部分.
  • 如果strWholeName是"frank_jones"我想忽略它,所以if语句将是false

明显,

m/$m_strFirstName_(+)/
Run Code Online (Sandbox Code Playgroud)

不会起作用,因为正则表达式解释器不会按照我的意图处理$ m_strname部分,所以任何想法?

编辑:我原来的问题不明确,更新.

谢谢

Jos*_*ley 5

在变量名称周围加上大括号:

if($strname =~ m/${m_strName}_(.+)/)
Run Code Online (Sandbox Code Playgroud)