Sympa::Tools::Data.3Sympa - Man Page

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 custome 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 custome 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.69b.

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 formated 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 independant. 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 formated 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.

Info

2023-01-21 sympa 6.2.70