ARSperl Manual - ars_perl_qualifier

## `ars_perl_qualifier($ctrl, $qual)`

This function returns a Hash that contains a processed version of the qualifier structer (i.e. what is retured by ars_LoadQualifier or what is encoded in the qualifier structure that appears when you examine Filters and Active links via the Perl extension). You can then walk the various segments of the Hash and interpret the Qualifier.

Note that this is a fairly complex Hash and if all you want to do is see the qualifier in a readable form (and not interpret it) you might just want to call ars_Export and extract the readable qualifier from the return value of that routine.

On success
  Returns a Hash
On failure
  Returns `undef`.

Example:

          ($parsed_qual = ars_perl_qualifier($c, $q)) ||
                die $ars_errstr;

Hash: the hash returned by ars_perl_qualifier has these members:

Note this is an incomplete description. We will complete the doc on this Hash in the future

     oper   = "and", "or", "not", "rel_op"
     left   = qualifier             (only for and, or)
     right  = qualifier             (only for and, or)
     not    = qualifier             (only for not)
     rel_op = rel_op                (only for rel_op)

    a rel_op is:
     oper   = "==", ">", ">=", "<", "<=", "!=", "like", "in"
     left   = FieldValueOrArithStruct
     right  = FieldValueOrArithStruct

    FieldValueOrArithStruct is:
     fieldId        = integer
     value          = scalar value (integer, string, float, etc.)
     arith          = ArithOpStruct
     statHistory    = StatHistoryValue
     valueSet       = list of scalar values
     variable       = integer       /* I think this is for passing
                                       macro arguments */
     queryValue     = QueryValueStruct
     queryCurrent   = integer

    StatHistoryValue is:
     userOrTime     = integer (1 = user, 2 = time)
     enumVal        = integer

    ArithOpStruct is (a binary tree basically):

     arith          = operation ("+", "-", etc)
     left           = ArithOpStruct
     right          = ArithOpStruct
     value          = scalar value
     field          =
     process        = scalar value
     function       = function
     dde            = not supported

Table of Contents