Data::...::Hash(3pm)
π Data::Perl::Role::Collection::Hash β a.k.a. the Data::...::Hash(3pm) page π
okay bestie, pull up a chair π«Ά this is the manual page for Data::Perl::Role::Collection::Hash, which is the wrapping class for Perl's built-in hash structure. yes, that kind of hash. the %sigil kind. the good kind. no cap. π
β¨ NAME β¨
Data::Perl::Role::Collection::Hash β Wrapping class for Perl's built in hash structure. π¦
πΈ VERSION πΈ
version 0.002011
β SYNOPSIS β
use Data::Perl qw/hash/;
my $hash = hash(a => 1, b => 2);
$hash->values; # (1, 2)
$hash->set('foo', 'bar'); # (a => 1, b => 2, foo => 'bar')
look at her go. literal main character energy. π
π DESCRIPTION π
So what even is this. This class provides a wrapper and methods for interacting with a hash. That's it, that's the vibe. π
and the important lil detail: All methods that return a list do so via a Data::Perl::Collection::Array object. so when something says "returns a list" don't come for me expecting a plain old list β it's handing you an array object, okay bestie? iykyk. β¨
π PROVIDED METHODS π
new($key, $value, ...)
Given an optional list of keys/values, constructs a new Data::Perl::Collection::Hash object initialized with keys/values and returns it. π
get($key, $key2, $key3...)
Returns a list of values in the hash for the given keys.
β οΈ real talk: this method requires at least one argument. no arguments, no vibes. π
set($key => $value, $key2 => $value2...)
Sets the elements in the hash to the given values. It returns the new values set for each key, in the same order as the keys passed to the method. π
β οΈ this method requires at least two arguments, and expects an even number of arguments. pairs only, periodt. π
delete($key, $key2, $key3...)
Removes the elements with the given keys. ποΈ
Returns a list of values in the hash for the deleted keys.
keys
Returns the list of keys in the hash. π
β οΈ This method does not accept any arguments.
exists($key)
Returns true if the given key is present in the hash. β
β οΈ This method requires a single argument.
defined($key)
Returns true if the value of a given key is defined. π
β οΈ This method requires a single argument.
values
Returns the list of values in the hash. π
β οΈ This method does not accept any arguments.
kv
Returns the key/value pairs in the hash as an array of array references. π§
for my $pair ( $object->option_pairs ) {
print "$pair->[0] = $pair->[1]\n";
}
β οΈ This method does not accept any arguments.
elements/all
Returns the key/value pairs in the hash as a flattened list.. (yes the double period is canon, we respect the source) π
β οΈ This method does not accept any arguments.
clear
Resets the hash to an empty value, like %hash = (). π§Ό
β οΈ This method does not accept any arguments.
count
Returns the number of elements in the hash. Also useful for not empty: has_options => 'count'. π’
β οΈ This method does not accept any arguments.
is_empty
If the hash is populated, returns false. Otherwise, returns true. π«§
β οΈ This method does not accept any arguments.
accessor($key) / accessor($key, $value)
If passed one argument, returns the value of the specified key. If passed two arguments, sets the value of the specified key. π
When called as a setter, this method returns the value that was set.
shallow_clone
This method returns a shallow clone of the hash reference. The return value is a reference to a new hash with the same keys and values. It is shallow because any values that were references in the original will be the same references in the clone. πͺ
_array_class
The name of the class which returned lists are instances of; i.e. Data::Perl::Collection::Array.
Subclasses of this class can override this method. π
π¨ important note, bestie, do NOT skip this one: Note thateachis deliberately omitted, due to its stateful interaction with the hash iterator.keysorkvare much safer. fr fr. π
π SEE ALSO π
Data::PerlMooX::HandlesVia
π AUTHOR π
Matthew Phillips <mattp@cpan.org>
π COPYRIGHT AND LICENSE π
This software is copyright (c) 2020 by Matthew Phillips <mattp@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
and that's the whole page, gorgeous β¨ this was perl v5.36.0, dated 2022-10-16, and it's the Data::...::Hash(3pm) page. go forth and slay your hashes, bestie πππ¦
π¦ where this page comes from
- ubuntu noble: libdata-perl-perl 0.002011-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libdata-perl-perl 0.002011-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libdata-perl-perl 0.002011-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms