function err=My_Eval(expr,s2,var,var_order,pos)

value=num2str(0);
try
   if(~isempty(var_order))
      L_pos = length(pos(1,:));
      L_expr = length(expr);
      for i = L_pos:-1:1
          p = find(strcmp(var_order{i},var));
          pos(:,i) = pos(:,i);
          if(pos(1,i)==1 & pos(2,i)<L_expr)
              expr = [value,expr(pos(2,i)+1:end)];
          elseif(pos(1,i)>1 & pos(2,i)<L_expr)
              expr = [expr(1:pos(1,i)-1),value,expr(pos(2,i)+1:end)];
          elseif(pos(1,i)>1 & pos(2,i)==L_expr)
              expr = [expr(1:pos(1,i)-1),value];
          else
              expr = value;
          end
       end
    end
    eval(expr);
    err=0;
catch
    eval(s2);
    err=4;
end