Я думаю, что есть синтаксическая ошибка, которая вызывает ошибку разбора в коде eval ().
Я пробовал это в PHP 5.2.17 и 5.3.6 тоже:
Вы не можете вернуть два значения сразу, как это:
return $x $legth_expr;
Это вызывает ошибку разбора в упомянутых двух версиях.
Чего именно вы хотите достичь?