Types::...HashRef(3)

okay so bestie, welcome to the Types::...HashRef(3) page β€” straight outta User Contributed Perl Documentation. This is lowkey about Types::Standard::HashRef, the exporter utility for the HashRef type constraint. πŸ’…

✨ NAME ✨

Types::Standard::HashRef β€” an exporter utility for the HashRef type constraint. That's the whole name vibe, no cap. 🫢

🌸 SYNOPSIS 🌸

Bestie, here's the canonical code, untouched, fr fr:

use Types::Standard -types;

# Normal way to validate a hashref of integers.
#
HashRef->of( Int )->assert_valid( { one => 1 } );

use Types::Standard::HashRef IntHash => { of => Int },

# Exported shortcut
#
assert_IntHash { one => 1 };

πŸ’€ STATUS πŸ’€

Real talk: This module is not covered by the Type-Tiny stability policy. So like, stability-policy wise? Not covered. Periodt.

πŸ¦‹ DESCRIPTION πŸ¦‹

Mostly internal code, but it can also act as an exporter utility. Main character energy, honestly.

🫢 Exports 🫢

Types::Standard::HashRef can be used experimentally as an exporter. Like, experimentally experimental.

use Types::Standard 'Int';
use Types::Standard::HashRef IntHash => { of => Int };

This will export the following functions into your namespace:

  • "IntHash" β€” on the export list, periodt. πŸ’–
  • is_IntHash( $value ) β€” also exported, no cap. ✨
  • assert_IntHash( $value ) β€” exported too, bestie. πŸŽ€
  • to_IntHash( $value ) β€” yep, this one too. πŸ¦‹

Multiple types can be exported at once:

use Types::Standard -types;
use Types::Standard::HashRef (
  IntHash  => { of => Int },
  NumHash  => { of => Num },
  StrHash  => { of => Str },
);

assert_IntHash { two => 2 };   # should not die

The # should not die comment is doing exactly what it says on the tin. 🫢

It's possible to further constrain the hashref using "where":

use Types::Standard::HashRef MyThing => { of => Int, where => sub { ... } };

πŸ› BUGS πŸ›

Please report any bugs to <https://github.com/tobyink/p5-type-tiny/issues>. No cap, that's the bug link.

πŸ‘€ SEE ALSO πŸ‘€

Types::Standard.

πŸ‘‘ AUTHOR πŸ‘‘

Toby Inkster <tobyink@cpan.org>.

This software is copyright (c) 2013-2025 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 ⚠️

Legal vibe check, bestie β€” this part is important:

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.

okay that's the whole page, bestie. This absolute icon of a manpage comes from perl v5.42.2, dated 2026-04-07, and it's Types::...HashRef(3) β€” periodt. πŸ’–βœ¨

πŸ“¦ where this page comes from