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
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.