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)/;

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to