Hash::WithDefaults man page on Fedora

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

WithDefaults(3)	      User Contributed Perl Documentation      WithDefaults(3)

NAME
       Hash::WithDefaults - class for hashes with key-casing requirements
       supporting defaults

       version 0.04

SYNOPSIS
	 use Hash::WithDefaults;

	 %main = ( ... );
	 tie %h1, 'Hash::WithDefaults', {...};
	 tied(%h1)->AddDefault(\%main);
	 tie %h2, 'Hash::WithDefaults', {...};
	 tied(%h2)->AddDefault(\%main);

	 # now if you use $h1{$key}, the value is looked up first
	 # in %h1, then in %main.

DESCRIPTION
       This module implements hashes that support "defaults". That is you may
       specify several more hashes in which the data will be looked up in case
       it is not found in the current hash.

   Object creation
	       tie %hash, 'Hash::WithDefault', [$case_option], [\%values];
	       tie %hash, 'Hash::WithDefault', [$case_option], [%values];

       The optional $case_option may be one of these values:

	 Sensitive     - the hash will be case sensitive
	 Tolower       - the hash will be case sensitive, all keys are made lowercase
	 Toupper       - the hash will be case sensitive, all keys are made uppercase
	 Preserve      - the hash will be case insensitive, the case is preserved
	 Lower - the hash will be case insensitive, all keys are made lowercase
	 Upper - the hash will be case insensitive, all keys are made uppercase

       If you pass a hash reference or an even list of keys and values to the
       tie() function, those keys and values will be COPIED to the resulting
       magical hash!

       After you tie() the hash, you use it just like any other hash.

   Functions
       AddDefault

	       tied(%hash)->AddDefault(\%defaults);

       This instructs the object to include the %defaults in the search for
       values.	After this the value will be looked up first in %hash itself
       and then in %defaults.

       You may keep modifying the %defaults and your changes WILL be visible
       through %hash!

       You may add as many defaults to one Hash::WithDefaults object as you
       like.

       GetDefaults

	       $defaults = tied(%hash)->GetDefaults();
	       push @$defaults, \%another_default;

       Returns a reference to the array that stores the defaults.  You may
       delete or insert hash references into the array, but make sure you
       NEVER EVER insert anything else than a hash reference into the array!

   Config::IniHash example
	 use Config::IniHash;
	 $config = ReadIni $inifile, withdefaults => 1, insensitive => 'preserve';

	 if (exists $config->{':default'}) {
	   my $default = $config->{':default'};
	   foreach my $section (keys %$config) {
	     next if $section =~ /^:/;
		 tied(%{$config->{$section}})->AddDefault($default)
	   }
	 }

       And now all normal sections will get the default values from [:default]
       section ;-)

AUTHOR
       Jan Krynicky <Jenda@Krynicky.cz> http://Jenda.Krynicky.cz

COPYRIGHT
       Copyright (c) 2002 Jan Krynicky <Jenda@Krynicky.cz>. All rights
       reserved.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.14.0			  2002-12-05		       WithDefaults(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