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/


Reply via email to