Match regex and assign results in single line of code

后端 未结 9 1943
后悔当初
后悔当初 2021-02-02 06:45

I want to be able to do a regex match on a variable and assign the results to the variable itself. What is the best way to do it?

I want to essentially combine lines 2 a

9条回答
  •  终归单人心
    2021-02-02 07:19

    my($variable) = "some string" =~ /(e\s*str)/;
    

    This works because

    If the /g option is not used, m// in list context returns a list consisting of the subexpressions matched by the parentheses in the pattern, i.e., ($1, $2, $3 …).

    and because my($variable) = ... (note the parentheses around the scalar) supplies list context to the match.

    If the pattern fails to match, $variable gets the undefined value.

提交回复
热议问题