Actually, that's the expected response.
If matches (Your $CML variable) is provided, then it is filled with the results of search. $matches[0] will contain the text that matched the full pattern, $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.
$CML will be populated with an array. To get the price do this:
$price = $CML[1][0];
If you read the preg_match manual page, it says that it returns an array, and the first element is a dump of all the matched data (in this case just one), and then after that each individual section. So you need to do a [man]var_dump[/man] to get the array structure, and then extract the price from that.
Also, take Houdini's advice. The Preg functions can take any character as its delimeter. Use that to your advantage. Only the ereg functions need to use the forward slash (/) as their delimeter.