我没有得到正则表达式$cmd =~ s/(\s*&\s*)$//
的含义。
答案 0 :(得分:4)
它正在检测$ cmd中包含“&”并删除它的最后一部分。
例如,如果$ cmd包含$cmd = 'command params1 param2 & '
然后它将删除最后一部分,结果为command params1 param2
。
Perl regex structure: s/REGEX_TO_SEARCH/REGEX_TO_REPLACE/
Here REGEX_TO_REPLACE: empty
REGEX_TO_SEARCH: (\s*&\s*)$
Four parts:
\s* : Any number of space
&: occurence of &
\s*: any number of space again
$: end of string
请注意,还会捕获可以通过$ 1 访问的突出显示的部分