> On Fri, Oct 24, 2008 at 8:42 PM, Chas. Owens <[EMAIL PROTECTED]> wrote: >> >> >> On Oct 24, 2008, at 11:00, "Sharan Basappa" <[EMAIL PROTECTED]> >> wrote: >> >>> Hi, >>> >>> I was just trying to match a string and save it in a single statement >>> as follows: >>> >>> $extracted = "cp xyz"; >>> $state_var = $extracted =~ m/cp\s+(.*)/; >>> print "$state_var $1 \n"; >>> >>> The output is: 1 xyz >>> >>> So the assignment to $state_var does not work. Is this an incorrect way. >>> >>> Regards >> >> In scalar context a match returns true if it matches or false if it doesn't. >> You want to use list context to cause the match to return the captures: >> >> ($var) = $foo =~ /(blah)/; >> > Thanks. This is exactly what I was looking for. Was trying to avoid > having to write two statements to > do this.
As a sidenote, for replaces I've always used: ($var = $foo) =~ s/a/b/; - B -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/