Test2::Util::Stash#

Utilities for manipulating stashes and globs.

DESCRIPTION#

This is a collection of utilities for manipulating and inspecting package stashes and globs.

EXPORTS#

  • $stash = get_stash($package)

    Gets the package stash. This is the same as $stash = \%Package::Name::.

  • $sym_spec = parse_symbol($symbol)

  • $sym_spec = parse_symbol($symbol, $package)

    Parse a symbol name, and return a hashref with info about the symbol.

    $symbol can be a simple name, or a fully qualified symbol name. The sigil is optional, and & is assumed if none is provided. If $symbol is fully qualified, and $package is also provided, then the package of the symbol must match the $package.

    Returns a structure like this:

    return {
        name    => 'BAZ',
        sigil   => '$',
        type    => 'SCALAR',
        symbol  => '&Foo::Bar::BAZ',
        package => 'Foo::Bar',
    };
    
  • $glob_ref = get_glob($symbol)

  • $glob_ref = get_glob($symbol, $package)

    Get a glob ref. Arguments are the same as for parse_symbol.

  • $ref = get_symbol($symbol)

  • $ref = get_symbol($symbol, $package)

    Get a reference to the symbol. Arguments are the same as for parse_symbol.

  • $ref = purge_symbol($symbol)

  • $ref = purge_symbol($symbol, $package)

    Completely remove the symbol from the package symbol table. Arguments are the same as for parse_symbol. A reference to the removed symbol is returned.

  • $sig = slot_to_sig($slot)

    Convert a slot (like ‘SCALAR’) to a sigil (like ‘$’).

  • $slot = sig_to_slot($sig)

    Convert a sigil (like ‘$’) to a slot (like ‘SCALAR’).

SOURCE#

The source code repository for Test2-Suite can be found at https://github.com/Test-More/test-more/.

MAINTAINERS#

AUTHORS#