NAME

Hydrogen::Topic::HashRef - functions from Hydrogen::HashRef applied to $_

VERSION

This documentation is for Hydrogen::Topic::HashRef 0.020000, which is based on Sub::HandlesVia::HandlerLibrary::Hash 0.046.

FUNCTIONS

Each function implicitly operates on $_, expecting it to be a reference to a hash.

accessor( $key, $value? )

Operates on $_, which must be a reference to a hash.

Arguments: Str, Optional[Any].

Acts like get if given just a key, or set if given a key and a value.

all()

Operates on $_, which must be a reference to a hash.

Returns the hash in list context.

clear()

Operates on $_, which must be a reference to a hash.

Empties the hash.

count()

Operates on $_, which must be a reference to a hash.

Returns the number of keys in the hash.

defined( $key )

Operates on $_, which must be a reference to a hash.

Arguments: Str.

Indicates whether a value exists and is defined in the hashref by its key.

delete( $key )

Operates on $_, which must be a reference to a hash.

Removes a value from the hashref by its key.

delete_where( $match )

Operates on $_, which must be a reference to a hash.

Arguments: CodeRef|RegexpRef.

Removes values from the hashref by matching keys against a coderef or regexp.

elements()

Operates on $_, which must be a reference to a hash.

Returns the hash in list context.

exists( $key )

Operates on $_, which must be a reference to a hash.

Arguments: Str.

Indicates whether a value exists in the hashref by its key.

for_each_key( $coderef )

Operates on $_, which must be a reference to a hash.

Arguments: CodeRef.

Function which calls the coderef for each key in the hash, passing just the key to the coderef.

for_each_pair( $coderef )

Operates on $_, which must be a reference to a hash.

Arguments: CodeRef.

Function which calls the coderef for each key in the hash, passing the key and value to the coderef.

for_each_value( $coderef )

Operates on $_, which must be a reference to a hash.

Arguments: CodeRef.

Function which calls the coderef for each value in the hash, passing just the value to the coderef.

get( $key )

Operates on $_, which must be a reference to a hash.

Returns a value from the hashref by its key.

is_empty()

Operates on $_, which must be a reference to a hash.

Returns true iff there are no keys in the hash.

keys()

Operates on $_, which must be a reference to a hash.

Returns the list of keys in the hash.

kv()

Operates on $_, which must be a reference to a hash.

Returns a list of arrayrefs, where each arrayref is a key-value pair.

reset()

Operates on $_, which must be a reference to a hash.

Resets the original value to its default value, or an empty hashref if it has no default.

set( $key, $value, ... )

Operates on $_, which must be a reference to a hash.

Given a key and value, adds the key to the hashref with the given value.

shallow_clone()

Operates on $_, which must be a reference to a hash.

Creates a new hashref with the same keys and values as the original.

sorted_keys()

Operates on $_, which must be a reference to a hash.

Returns an alphabetically sorted list of keys in the hash.

values()

Operates on $_, which must be a reference to a hash.

Returns the list of values in the hash.

EXPORT

No functions are exported by this module by default. To import them all (this is usually a bad idea), use:

use Hydrogen::Topic::HashRef -all;

To import a particular function, use:

use Hydrogen::Topic::HashRef 'clear';

To rename functions:

use Hydrogen::Topic::HashRef 'clear' => { -as => 'myfunc' };

On Perl 5.37.2+ (or if Lexical::Sub is installed) you can import lexically:

use Hydrogen::Topic::HashRef -lexical, 'clear';

See Exporter::Tiny::Manual::Importing for more hints on importing.

BUGS

Please report any bugs to http://github.com/tobyink/p5-hydrogen/issues.

SEE ALSO

Hydrogen, Hydrogen::HashRef, Hydrogen::Hash, Hydrogen::Curry::HashRef, Sub::HandlesVia::HandlerLibrary::Hash, Hash::Util.

AUTHOR

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE

This software is copyright (c) 2022-2023 by Toby Inkster.

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

DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.