Sympa::Tools::Data(3Sympa)

NAME
Sympa::Tools::Data - Functions related to data structures

DESCRIPTION
This package provides some functions related to data strucures.

  Functions

clone_var (...)
    Duplicates a complex variable (faster than dup_var()). TBD.

    CAUTION: This duplicates blessed elements even if they are singleton/multiton; this breaks subroutine references.

decode_custom_attribute ($string)
    Creates a custom attribute from an XML description.

    Options:

    $string
        XML formed data as stored in database

    Returns:

    A hashref storing custom attributes.

diff_on_arrays ( $setA, $setB )
    Makes set operation on arrays (seen as set, with no double) :

    - deleted : A \ B

    - added : B \ A

    - intersection : A /\ B

    - union : A \/ B

    Options:

    $setA, $setB
        Arrayrefs.

    Returns:

    A hashref with keys : deleted, added, intersection, union.

dump_html_var (...)
    Dump a variable's content. TBD.

dump_var (...)
    Dump a variable's content. TBD.

dup_var (...)
    Duplictate a complex variable. TBD.

    See also clone_var().

encode_custom_attribute ($hashref)
    Create an XML Custom attribute to be stored into data base.

    Options:

    $hasref
        Hashref storing custom attributes.

    Returns:

    String, XML formed data to be stored in database.

format_config (\@params, [ \%curConf, [ \%newConf ] ], [ key "=>" val ... ] ))
    Outputs formetted configuration.

    Options:

    \@params
        Configuration scheme. See Sympa::ConfDef.

    \%curConf
        Hashref including current configuration.

    \%newConf
        Hashref including update of configuration, if any.

    key "=>" val ...
        Following options are possible:

        "output" "=>" "["classes, ..."]"
            Classes of parameters to output: Any of "mandatory", "omittable", "optional", "full" (synonym for the former tree), "minimal" (included in minimal set, i.e. described in installation instruction) and "explicit" (the parameter given an empty value with \%curConf and \%newConf).

        "only_changed" "=>" 1
            When both \%curConf and \%newConf are given and no changes were given, returns "undef".

    Returns:

    Formatted string.

    This was introduced on Sympa 6.2.70.

get_array_from_splitted_string ($string)
    Returns an array made on a string splited by ','. It removes spaces.

    Options:

    $string
        string to split

    Returns:

    An arrayref.

hash_2_string (...)
    Converts a hash into a string formatted as var1="value1";var2="value2"; into a hash. TBD.

is_in_array ( $setA, $value )
    Test if a value is on an array.

    Options:

    $setA
        An arrayref.

    $value
        a serached value

    Returns true or false.

recursive_transformation (...)
    This applies recursively to a data structure. The transformation subroutine is passed as a ref. TBD.

smart_eq ( $x, $y )
    Function. Check if two strings are identical.

    Parameters:

    $x, $y
        Operands.

        If both of them are undefined, they are equal. If only one of them is undefined, the are not equal. If $y is a Regexp object and it matches to $x, they are equal. Otherwise, they are compared as strings.

    Returns:

    If arguments matched, true value. Otherwise false value.

smart_lessthan (...)
    Compares two scalars, string/numeric independent. TBD.

sort_uniq ( [ \&comp ], @items )
    Returns sorted array of unique elements in the list.

    Parameters:

    \&comp
        Optional subroutine reference to compare each pairs of elements. It should take two arguments and return negative, zero or positive result.

    @items
        Items to be sorted.

    This function was added on Sympa 6.2.16.

string_2_hash (...)
    Converts a string formatted as var1="value1";var2="value2"; into a hash. Used when extracting from session table some session properties or when extracting users preference from user table. Current encoding is NOT compatible with encoding of values with '"'. TBD.

SEE ALSO
TBD.

HISTORY
TBD.