NAME
Starch::Util - Utility functions used internally by Starch.
FUNCTIONS
load_prefixed_module
# These both return "Foo::Bar".
my $module = load_prefixed_module( 'Foo', '::Bar' );
my $module = load_prefixed_module( 'Foo', 'Foo::Bar' );
Takes a prefix to be appended to a relative package name and a relative or absolute package name. It then resolves the relative package name to an absolute one, loads it, and returns the absolute name.
apply_method_proxies
Given a data structures (array ref or hash ref) this will recursively find all method proxies, call them, and insert the return value back into the data structure.
This creates a new data structure and does not modify the original.
call_method_proxy
my @ret = call_method_proxy(
[
'&proxy'
'Some::Package',
'some_method',
@args,
],
);
Is the same as:
require Some::Package;
my @ret = Some::Package->some_method( @args );
Method proxies are defined in more detail at "METHOD PROXIES" in Starch.
is_method_proxy
is_method_proxy( [ 'Foo', 'bar' ] ); # false
is_method_proxy( [ '&proxy', 'Foo', 'bar' ] ); # true
Returns true if the passed value is an array ref where the first value is &proxy.
AUTHORS AND LICENSE
See "AUTHOR" in Starch, "CONTRIBUTORS" in Starch, and "LICENSE" in Starch.