Config::Model::ListId - Handle list element for configuration model
version 2.153
See "SYNOPSIS" in Config::Model::AnyId
This class provides list elements for a Config::Model::Node.
ListId object should not be created directly.
See model declaration section from Config::Model::AnyId.
Returns list.
list
Returns the number of elements of the list.
Parameters: (string, [ check => 'no' ] )
(string, [ check => 'no' ] )
Store a set of values passed as a comma separated list of values. Values can be quoted strings. (i.e "a,a",b yields ('a,a', 'b') list).
"a,a",b
('a,a', 'b')
check can be yes, no or skip
check
Store a set of values (passed as list)
If tinkering with check is required, use the following way :
store_set ( \@v , check => 'skip' );
Parameters: ( from_index, to_index, [ check => 'no' )
( from_index, to_index, [ check => 'no' )
Move an element within the list. check can be 'yes' 'no' 'skip'
Parameters: ( value1, [ value2 ... ] )
( value1, [ value2 ... ] )
push some values at the end of the list.
Parameters: ( values => [ v1','v2', ...] , ... )
( values => [ v1','v2', ...] , ... )
Like push with extended options. Options are:
Check value validaty. Either yes (default), no, skip
yes
no
skip
Values to push (array_ref)
Single value to push
unshift some values at the end of the list.
Parameters: ( idx, value1, [ value2 ... ] )
( idx, value1, [ value2 ... ] )
unshift some values at index idx in the list.
Parameters: ( ( val | qr/stuff/ ) , value1, [ value2 ... ] )
( ( val | qr/stuff/ ) , value1, [ value2 ... ] )
unshift some values before value equal to val or before value matching stuff.
val
stuff
Insert zz value on xxx list so that existing alphanumeric order is preserved. insort yields unpexpected results when called on an unsorted list.
zz
xxx
insort
Equivalent to push_x. This method is provided to help write configuration parser, so the call is the same when dealing with leaf or list values. Prefer push_x when practical.
push_x
yes, no or skip
list ref of annotation to store with the list values
Example:
$elt->push_x ( values => [ 'v1','v2' ] , annotation => [ 'v1 comment', 'v2 comment' ], check => 'skip' );
Sort the content of the list. Can only be called on list of leaf.
Parameters: ( ida , idb )
( ida , idb )
Swap 2 elements within the array
Parameters: ( idx )
( idx )
Remove an element from the list. Equivalent to splice @list,$idx,1
splice @list,$idx,1
Parameters: ( data => ( ref | scalar ) [, check => ... ] [ , split_reg => $re ] )
( data => ( ref | scalar ) [, check => ... ] [ , split_reg => $re ] )
Clear and load list from data contained in the data array ref. If a scalar or a hash ref is passed, the list is cleared and the data is stored in the first element of the list. If split_reg is specified, the scalar is split to load the array.
data
For instance
$elt->load_data( data => 'foo,bar', split_reg => qr(,) ) ;
loads [ 'foo','bar'] in $elt
[ 'foo','bar']
$elt
Returns a sub used to sort the list elements. See "sort" in perlfunc. Used only for list of leaves. This method can be overridden to alter sort order.
Returns a list of information related to the list. See "get_info" in Config::Model::Value for more details.
Dominique Dumont, (ddumont at cpan dot org)
Config::Model::Model, Config::Model::Instance, Config::Model::AnyId, Config::Model::HashId, Config::Model::Value
Dominique Dumont
This software is Copyright (c) 2005-2022 by Dominique Dumont.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999
To install Config::Model, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Config::Model
CPAN shell
perl -MCPAN -e shell install Config::Model
For more information on module installation, please visit the detailed CPAN module installation guide.