Config::Model::SimpleUI man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Config::Model::SimpleUUser Contributed Perl DocumentConfig::Model::SimpleUI(3)

NAME
       Config::Model::SimpleUI - Simple interface for Config::Model

VERSION
       version 1.235

SYNOPSIS
	use Config::Model;
	use Config::Model::SimpleUI ;
	use Log::Log4perl qw(:easy);
	Log::Log4perl->easy_init($WARN);

	# define configuration tree object
	my $model = Config::Model->new;
	 $model->create_config_class(
	   name	   => "Foo",
	   element => [
	       [qw/foo bar/] => {
		   type	      => 'leaf',
		   value_type => 'string'
	       },
	   ]
	);
	$model ->create_config_class (
	   name => "MyClass",

	   element => [

	       [qw/foo bar/] => {
		   type	      => 'leaf',
		   value_type => 'string'
	       },
	       hash_of_nodes => {
		   type	      => 'hash',     # hash id
		   index_type => 'string',
		   cargo      => {
		       type		 => 'node',
		       config_class_name => 'Foo'
		   },
	       },
	   ],
	) ;

	my $inst = $model->instance(root_class_name => 'MyClass' );

	my $root = $inst->config_root ;

	# put data
	my $step = 'foo=FOO hash_of_nodes:fr foo=bonjour -
	  hash_of_nodes:en foo=hello ';
	$root->load( step => $step );

	my $ui = Config::Model::SimpleUI->new( root => $root ,
					       title => 'My class ui',
					       prompt => 'class ui',
					     );

	# engage in user interaction
	$ui -> run_loop ;

	print $root->dump_tree ;

       Once the synopsis above has been saved in "my_test.pl", you can do:

	$ perl my_test.pl
	class ui:$ ls
	foo  bar  hash_of_nodes
	class ui:$ ll hash_of_nodes
	name	     value	  type	       comment
	hash_of_nodes <Foo>	   node hash	keys: "en" "fr"

	class ui:$ cd hash_of_nodes:en

	class ui: hash_of_nodes:en $ ll
	name	     value	  type	       comment
	foo	     hello	  string
	bar	     [undef]	  string

	class ui: hash_of_nodes:en $ set bar=bonjour

	class ui: hash_of_nodes:en $  ll
	name	     value	  type	       comment
	foo	     hello	  string
	bar	     bonjour	  string

	class ui: hash_of_nodes:en $ ^D

       At the end, the test script will dump the configuration tree. The
       modified "bar" value can be found in there:

	foo=FOO
	hash_of_nodes:en
	  foo=hello
	  bar=bonjour -
	hash_of_nodes:fr
	  foo=bonjour - -

DESCRIPTION
       This module provides a pure ASCII user interface using STDIN and
       STDOUT.

USER COMMAND SYNTAX
       cd ...
	   Jump into node or value element. You can use "cd <element>", "cd
	   <elt:key>" or "cd -" to go up one node or "cd !"  to go to
	   configuration root.

       set elt=value
	   Set a leaf value.

       set elt:key=value
	   Set a leaf value locate in a hash or list element.

       display node_name elt:key
	   Display a value

       ls  Show elements of current node

       help
	   Show available commands.

       desc[ription]
	   Show class description of current node.

       desc(elt)
	   Show description of element from current node.

       desc(value)
	   Show effect of value (for enum)

CONSTRUCTOR
   parameters
       root
	   Root node of the configuration tree

       title
	   UI title

       prompt
	   UI prompt. The prompt will be completed with the location of the
	   current node.

Methods
   run_loop()
       Engage in user interaction until user enters '^D' (CTRL-D).

BUGS
       ยท   UI should take into account experience.

AUTHOR
       Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO
       Config::Model, Config::Model::Instance, Config::Model::Node,

perl v5.14.1			  2011-07-22	    Config::Model::SimpleUI(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net