Test2::Util::Stash - Utilities for manipulating stashes and globs.
This is a collection of utilities for manipulating and inspecting package
stashes and globs.
- $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)$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)$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)$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)$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').
The source code repository for Test2-Suite can be found at
https://github.com/Test-More/Test2-Suite/.
- Chad Granum
-
- Chad Granum <exodist@cpan.org>Chad Granum
-
Copyright 2018 Chad Granum <exodist@cpan.org>.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
See http://dev.perl.org/licenses/
|