Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Config::Model::ListId(User Contributed Perl DocumentatConfig::Model::ListId(3)

NAME
       Config::Model::ListId - Handle list element for configuration model

VERSION
       version 2.105

SYNOPSIS
       See "SYNOPSIS" in Config::Model::AnyId

DESCRIPTION
       This class provides list	elements for a Config::Model::Node.

CONSTRUCTOR
       ListId object should not	be created directly.

List model declaration
       See model declaration section from Config::Model::AnyId.

Methods
   get_type
       Returns "list".

   fetch_size
       Returns the number of elements of the list.

   load(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).

       "check" can be yes, no or skip

   store_set( ... )
       Store a set of values (passed as	list)

       If tinkering with check is required, use	the following way :

	store_set ( \@v	, check	=> 'skip' );

   move	( from_index, to_index,	[ check	=> 'no'	)
       Move an element within the list.	"check"	can be 'yes' 'no' 'skip'

   push( value1, [ value2 ... ]	)
       push some values	at the end of the list.

   push_x ( values => [	v1','v2', ...] ,  ...  )
       Like push with extended options.	Options	are:

       check
	   Check value validaty. Either	"yes" (default), "no", "skip"

       values
	   Values to push (array_ref)

       value
	   Single value	to push

       annotation

   unshift( value1, [ value2 ... ] )
       unshift some values at the end of the list.

   insert_at( idx, value1, [ value2 ...	] )
       unshift some values at index idx	in the list.

   insert_before( ( val	| qr/stuff/ ) ,	value1,	[ value2 ... ] )
       unshift some values before value	equal to "val" or before value
       matching	"stuff".

   insort( value1, [ value2 ...	] )
       Insert "zz" value on "xxx" list so that existing	alphanumeric order is
       preserved.  "insort" yields unpexpected results when called on an
       unsorted	list.

   store
       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.

       check
	   "yes", "no" or "skip"

       annotation
	   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()
       Sort the	content	of the list. Can only be called	on list	of leaf.

   swap	( "ida"	, "idb"	)
       Swap 2 elements within the array

   remove ( "idx" )
       Remove an element from the list.	Equivalent to "splice @list,$idx,1"

   load_data ( 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.

       For instance

	  $elt->load_data( data	=> 'foo,bar', split_reg	=> qr(,) ) ;

       loads " [ 'foo','bar']" in $elt

AUTHOR
       Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO
       Config::Model::Model, Config::Model::Instance, Config::Model::AnyId,
       Config::Model::HashId, Config::Model::Value

AUTHOR
       Dominique Dumont

COPYRIGHT AND LICENSE
       This software is	Copyright (c) 2005-2017	by Dominique Dumont.

       This is free software, licensed under:

	 The GNU Lesser	General	Public License,	Version	2.1, February 1999

perl v5.24.1			  2017-07-02	      Config::Model::ListId(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | CONSTRUCTOR | List model declaration | Methods | AUTHOR | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Config::Model::ListId&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help