in reply to Solving an expression

One detail to mention is that the Perl statement
    @expr = "((2 + 4 * 6 / 3) <= 20)";
probably does not do what you expect. It assigns the string  "((2 + 4 * 6 / 3) <= 20)" to the first element of the  @expr array (i.e., $expr[0]), and if any other elements had any values, they are destroyed. You may want something like:
    $expr    = "((2 + 4 * 6 / 3) <= 20)";  # scalar assignment
or maybe:
    $expr[0] = "((2 + 4 * 6 / 3) <= 20)";  # array element assignment

o, n gl with ur hw assignment also.

Update: Added statement about effect of array assignment on other elements of array, array element assignment example.