NAME
Hermes::KeySet - KeySet implementation
SYNOPSIS
use Hermes::KeySet;
my @a = qw( foo foo1 bar1 baz1 );
my $a = Hermes::KeySet->new()->load( \@a );
my %b = ( foo => 1, foo2 => 1, bar2 => 1, baz2 => 1 );
my $b = $a->new()->load( \%b );
my $c = $a->new()->load( 'foo1', 'foo3' );
my $d = $a->new()->load( $c );
$a->add( $b );
$b->subtract( qr/foo/ );
$c->intersect( \%b );
print $a->dump( range => '..' ), "\n";
SYMBOLS
range : '~' list : ',' null : '$'
DATA METHODS
clone()
Returns a cloned object.
get( $o )
Returns a list of elements of a supported object.
load( $o, %symbol )
Loads from a supported object, or a pair of delimiting elements that indicate a contiguous range. Symbols may be redefined in %symbol.
dump( %symbol )
Serializes to a range expression. Symbols may be redefined in %symbol.
list()
Returns a list of elements.
has( $element )
Determines if object contains element.
ARITHMETIC METHODS
( These methods modify the invoking object. )
add( $o )
Adds a supported object to object.
subtract( $o )
Subtracts a supported object from object.
intersect( $o )
Intersects with a supported object.
symdiff( $o )
Takes symmetric difference with a supported object.
multiply( $o )
X with a supported object.
SUPPORTED OBJECTS
ARRAY, HASH, another object, and for arithmetic methods, Regexp.