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.
Regards -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/